Baseline Widely available
Object.isSealed()
éææ¹æ³å¤æä¸ä¸ªå¯¹è±¡æ¯å¦è¢«å¯å°ã
const object1 = {
property1: 42,
};
console.log(Object.isSealed(object1));
// Expected output: false
Object.seal(object1);
console.log(Object.isSealed(object1));
// Expected output: true
è¯æ³ åæ°
obj
è¦è¢«æ£æ¥ç对象ã
ä¸ä¸ªè¡¨ç¤ºç»å®å¯¹è±¡æ¯å¦è¢«å¯å°çå¸å°å¼ã
æè¿°å¦æè¿ä¸ªå¯¹è±¡æ¯å¯å°çï¼åè¿å true
ï¼å¦åè¿å false
ãå¯å°å¯¹è±¡æ¯æé£äºä¸å¯æ©å±çï¼ä¸ææèªæå±æ§é½ä¸å¯é
ç½®ä¸å æ¤ä¸å¯å é¤ï¼ä½ä¸ä¸å®æ¯ä¸å¯åï¼ç对象ã
// æ°å»ºç对象é»è®¤ä¸æ¯å¯å°çã
const empty = {};
Object.isSealed(empty); // false
// å¦æä½ ä»¤ä¸ä¸ªç©ºå¯¹è±¡ä¸å¯æ©å±ï¼åå®åæ¶ä¹ä¼åæä¸ªå¯å°å¯¹è±¡ã
Object.preventExtensions(empty);
Object.isSealed(empty); // true
// ä½å¦æè¿ä¸ªå¯¹è±¡ä¸æ¯ç©ºå¯¹è±¡ï¼åå®ä¸ä¼åæå¯å°å¯¹è±¡ï¼å 为å¯å°å¯¹è±¡çææèªèº«å±æ§å¿
é¡»æ¯ä¸å¯é
ç½®çã
const hasProp = { fee: "fie foe fum" };
Object.preventExtensions(hasProp);
Object.isSealed(hasProp); // false
// 妿æè¿ä¸ªå±æ§åçä¸å¯é
ç½®ï¼åè¿ä¸ªå±æ§ä¹å°±æäºå¯å°å¯¹è±¡ã
Object.defineProperty(hasProp, "fee", {
configurable: false,
});
Object.isSealed(hasProp); // true
// å¯å°ä¸ä¸ªå¯¹è±¡æç®åçæ¹æ³å½ç¶æ¯ Object.sealã
const sealed = {};
Object.seal(sealed);
Object.isSealed(sealed); // true
// æ ¹æ®å®ä¹ï¼å¯å°å¯¹è±¡æ¯ä¸å¯æ©å±çã
Object.isExtensible(sealed); // false
// ä¸ä¸ªå¯å°å¯¹è±¡å¯è½è¢«å»ç»ï¼ä½ä¸ä¸å®ã
Object.isFrozen(sealed); // true
//ï¼ææå±æ§ä¹æ¯ä¸å¯åçï¼
const s2 = Object.seal({ p: 3 });
Object.isFrozen(s2); // false
//ï¼'p' ä»ç¶å¯åï¼
const s3 = Object.seal({
get p() {
return 0;
},
});
Object.isFrozen(s3); // true
//ï¼å¯¹äºè®¿é®å¨å±æ§ï¼åªæå¯é
ç½®æ§ææå½±åï¼
éå¯¹è±¡åæ°
å¨ ES5 ä¸ï¼å¦æè¯¥æ¹æ³ç忰䏿¯ä¸ä¸ªå¯¹è±¡ï¼èæ¯ä¸ä¸ªåºæ¬ç±»åå¼ï¼ï¼åä¼å¼å TypeError
å¼å¸¸ãå¨ ES2015 ä¸ï¼å¦æä¼ éä¸ä¸ªéå¯¹è±¡åæ°ï¼åè¯¥æ¹æ³å°è¿å true
èä¸ä¼äº§çä»»ä½é误ï¼å 为æç
§å®ä¹ï¼åºæ¬ç±»å弿¯ä¸å¯åçã
Object.isSealed(1);
// TypeError: 1 is not an object (ES5 code)
Object.isSealed(1);
// true (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