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
// æ ¹æ®å®ä¹ï¼å¯å°å¯¹è±¡æ¯ä¸å¯æå±çã
const sealed = Object.seal({});
Object.isExtensible(sealed); // false
// æ ¹æ®å®ä¹ï¼å»ç»å¯¹è±¡åæ ·ä¹æ¯ä¸å¯æå±çã
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