Baseline Widely available
Object.isExtensible()
ã¡ã½ããã¯ããªãã¸ã§ã¯ããæ¡å¼µå¯è½ã§ãããï¼æ°ããããããã£ã追å ãããã¨ãã§ãããã©ããï¼ãå¤å®ãã¾ãã
const object1 = {};
console.log(Object.isExtensible(object1));
// Expected output: true
Object.preventExtensions(object1);
console.log(Object.isExtensible(object1));
// Expected output: false
æ§æ 弿°
obj
ãã§ãã¯ãããªãã¸ã§ã¯ãã§ãã
è«çå¤ã§ãä¸ãããããªãã¸ã§ã¯ããæ¡å¼µå¯è½ã§ãããã©ããã示ãã¾ãã
解説ãªãã¸ã§ã¯ãã¯æ¢å®ã§ã¯æ¡å¼µå¯è½ã§ããã¤ã¾ããæ°ããããããã£ã®è¿½å ãå¯è½ã§ããã [[Prototype]]
ããããã£ã«å代å
¥ãããã¨ãã§ãã¾ãããªãã¸ã§ã¯ã㯠Object.preventExtensions()
, Object.seal()
, Object.freeze()
, Reflect.preventExtensions()
ã®ãããããç¨ããäºã§æ¡å¼µä¸è½ã«è¨å®ããäºãå¯è½ã§ãã
// æ°è¦ã®ãªãã¸ã§ã¯ãã¯æ¡å¼µå¯è½
const empty = {};
Object.isExtensible(empty); // true
// ãã®è¨å®ã¯å¤ããäºãå¯è½
Object.preventExtensions(empty);
Object.isExtensible(empty); // false
// seal ã¡ã½ããã§å°å°ããããªãã¸ã§ã¯ãã¯æ¡å¼µä¸å¯ã¨å®ç¾©ããã
const sealed = Object.seal({});
Object.isExtensible(sealed); // false
// freeze ã¡ã½ããã§åçµããããªãã¸ã§ã¯ããæ¡å¼µä¸å¯ã¨å®ç¾©ããã
const frozen = Object.freeze({});
Object.isExtensible(frozen); // false
ãªãã¸ã§ã¯ã以å¤ã®åå¼·å¶
ES5 ã§ã¯ããã®ã¡ã½ããã®å¼æ°ããªãã¸ã§ã¯ãã§ã¯ãªãå ´åï¼ããªããã£ãã®å ´åï¼ã TypeError
ãçºçãã¾ãã ES2015 以éã§ã¯ããªãã¸ã§ã¯ãã§ãªã弿°ã¯ããããæ¡å¼µä¸å¯è½ãªé常ã®ãªãã¸ã§ã¯ãã§ãããã®ããã«æ±ãããåã« false
ãè¿ãã¾ãã
Object.isExtensible(1);
// TypeError: 1 is not an object (ES5 code)
Object.isExtensible(1);
// false (ES2015 code)
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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