Baseline Widely available
СводкаÐеÑод Object.isExtensible()
опÑеделÑеÑ, ÑвлÑеÑÑÑ Ð»Ð¸ обÑÐµÐºÑ ÑаÑÑиÑÑемÑм (Ñо еÑÑÑ, можно ли к Ð½ÐµÐ¼Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑ Ð½Ð¾Ð²Ñе ÑвойÑÑва).
obj
ÐÑовеÑÑемÑй обÑекÑ.
ÐбÑекÑÑ ÑвлÑÑÑÑÑ ÑаÑÑиÑÑемÑми по ÑмолÑаниÑ: к ним можно добавлÑÑÑ Ð½Ð¾Ð²Ñе ÑвойÑÑва и (в движкаÑ
, поддеÑживаÑÑиÑ
ÑвойÑÑво Object.prototype.__proto__
) иÑ
можно изменÑÑÑ. ÐбÑÐµÐºÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð¼ÐµÑен, как не изменÑемÑй Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼ÐµÑодов Object.preventExtensions()
, Object.seal()
или Object.freeze()
.
// ÐовÑе обÑекÑÑ ÑвлÑÑÑÑÑ ÑаÑÑиÑÑемÑми.
var empty = {};
assert(Object.isExtensible(empty) === true);
// ...но ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¾.
Object.preventExtensions(empty);
assert(Object.isExtensible(empty) === false);
// ÐапеÑаÑаннÑе обÑекÑÑ Ð¿Ð¾ опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ðµ ÑаÑÑиÑÑемÑ.
var sealed = Object.seal({});
assert(Object.isExtensible(sealed) === false);
// ÐамоÑоженнÑе обÑекÑÑ Ñакже по опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ðµ ÑаÑÑиÑÑемÑ.
var frozen = Object.freeze({});
assert(Object.isExtensible(frozen) === false);
ÐÑимеÑаниÑ
Ð ES5, еÑли аÑгÑÐ¼ÐµÐ½Ñ Ð¼ÐµÑода не ÑвлÑеÑÑÑ Ð¾Ð±ÑекÑом (ÑвлÑеÑÑÑ Ð¿ÑимиÑивнÑм знаÑением), бÑÐ´ÐµÑ Ð²ÑбÑоÑено иÑклÑÑение TypeError
. Ð ES6 Ñакой аÑгÑÐ¼ÐµÐ½Ñ Ð±ÑÐ´ÐµÑ ÑаÑÑмаÑÑиваÑÑÑÑ, как пÑоÑÑой не ÑаÑÑиÑÑемÑй обÑÐµÐºÑ Ð¸ меÑод пÑоÑÑо веÑнÑÑ false
.
> Object.isExtensible(1)
TypeError: 1 is not an object // код ES5
> Object.isExtensible(1)
false // код ES6
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4