Baseline Widely available
delete
è¿ç®ç¬¦ç¨äºå é¤å¯¹è±¡çä¸ä¸ªå±æ§ï¼å¦æè¯¥å±æ§ç弿¯ä¸ä¸ªå¯¹è±¡ï¼å¹¶ä¸æ²¡ææ´å¤å¯¹è¯¥å¯¹è±¡çå¼ç¨ï¼è¯¥å±æ§æææç对象æç»ä¼èªå¨éæ¾ã
const Employee = {
firstname: "Maria",
lastname: "Sanchez",
};
console.log(Employee.firstname);
// Expected output: "Maria"
delete Employee.firstname;
console.log(Employee.firstname);
// Expected output: undefined
è¯æ³
delete object.property
delete object[property]
夿³¨ï¼ è¯¥è¯æ³å
è®¸å¨ delete
è¿ç®ç¬¦ä¹å使ç¨å¤ç§ç±»åç表达å¼ï¼ä½åªæä¸è¿°å½¢å¼æè½äº§çææä¹çè¡ä¸ºã
object
对象çåç§°ï¼æè®¡ç®ç»æä¸ºå¯¹è±¡ç表达å¼ã
property
è¦å é¤ç屿§ã
对äºå¤§å¤æ°æ
åµé½æ¯ true
ï¼å¦æå±æ§æ¯ä¸ä¸ªèªèº«ä¸å¯é
ç½®ç屿§ï¼å¨è¿ç§æ
åµä¸ï¼éä¸¥æ ¼æ¨¡å¼è¿å false
ã
TypeError
妿屿§æ¯èªèº«ä¸å¯é ç½®ç屿§ä¸å¤äºä¸¥æ ¼æ¨¡å¼ä¸ï¼å伿åºè¯¥å¼å¸¸ã
ReferenceError
å½ object
æ¯ super
æ¶æåºã
delete
è¿ç®ç¬¦ä¸å
¶ä»å typeof
è¿æ ·çä¸å
è¿ç®ç¬¦å
·æç¸åçä¼å
级ãå æ¤ï¼å®æ¥åä»»ä½ç±æ´é«ä¼å
级çè¿ç®ç¬¦å½¢æç表达å¼ãç¶èï¼å¨ä¸¥æ ¼æ¨¡å¼ä¸ï¼ä»¥ä¸å½¢å¼ä¼å¯¼è´æ©æè¯æ³é误ï¼
delete identifier;
delete object.#privateProperty;
å 为类èªå¨å¤äºä¸¥æ ¼æ¨¡å¼ï¼èç§æå
ç´ åªè½å¨ç±»ä½å
åæ³å¼ç¨ï¼è¿æå³çç§æå
ç´ æ°¸è¿ä¸è½è¢«å é¤ãè½ç¶ delete identifier
å¨ identifier
æçæ¯å
¨å±å¯¹è±¡çå¯é
ç½®å±æ§æ¶å¯è½ææï¼ä½æ¯ä½ åºè¯¥é¿å
è¿ç§å½¢å¼ï¼èæ¯ç¨ globalThis
ä½ä¸ºåç¼ã
è½ç¶å ¶ä»è¡¨è¾¾å¼æ¯å¯ä»¥æ¥åçï¼ä½æ¯å®ä»¬å¹¶ä¸å¯¼è´ææä¹çè¡ä¸ºï¼
delete console.log(1);
// è¾åº 1ï¼è¿å trueï¼ä½æ¯æ²¡æå é¤ä»»ä½ä¸è¥¿
delete
è¿ç®ç¬¦ä»ä¸ä¸ªå¯¹è±¡ä¸å é¤ä¸ä¸ªç»å®ç屿§ã卿åå 餿¶ï¼å®å°è¿å true
ï¼å¦åå°è¿å false
ãä¸åä¸è¬äººè®¤ä¸ºç飿 ·ï¼ä¹è®¸æ¯ç±äºå
¶ä»ç¼ç¨è¯è¨ï¼å¦ C++ ä¸ç deleteï¼ï¼delete
æä½ç¬¦ä¸ç´æ¥éæ¾å
åæ²¡æå
³ç³»ãå
åç®¡çæ¯éè¿ç ´åå¼ç¨é´æ¥å®æçãæ´å¤ç»è请åè§å
å管ç页é¢ã
使¯ï¼ä»¥ä¸æ åµéè¦éç¹èèï¼
delete
å°ä¸ä¼èµ·ä»»ä½ä½ç¨ï¼ä½ä»ä¼è¿å true
ãdelete
åªå½±åèªèº«å±æ§ãå¦æå¯¹è±¡çååé¾ä¸æä¸ä¸ªä¸å¾
å é¤å±æ§ååç屿§ï¼é£ä¹å é¤å±æ§ä¹åï¼å¯¹è±¡ä¼ä½¿ç¨ååé¾ä¸çé£ä¸ªå±æ§ãMath
ãArray
ãObject
è¿äºå
置对象ç屿§ä»¥åä½¿ç¨ Object.defineProperty()
æ¹æ³è®¾ç½®ä¸ºä¸å¯é
ç½®ç屿§ä¸è½è¢«å é¤ãdelete variable
ä¼å¨ä¸¥æ ¼æ¨¡å¼ä¸æåº SyntaxError
é误ï¼éä¸¥æ ¼æ¨¡å¼ä¸ä¸ä¼æä»»ä½ææã
var
声æç屿§ä¸è½ä»å
¨å±ä½ç¨åæå½æ°çä½ç¨åä¸å é¤ï¼å 为å³ä½¿å®ä»¬å¯è½éå å°å
¨å±å¯¹è±¡ä¸ï¼å®ä»¬ä¹æ¯ä¸å¯é
ç½®çãlet
æ const
声æç屿§ä¸è½å¤ä»å®è¢«å£°æçä½ç¨åä¸å é¤ï¼å 为å®ä»¬æ²¡æéå å°ä»»ä½å¯¹è±¡ä¸ã夿³¨ï¼ 以ä¸ç¤ºä¾ä½¿ç¨äºä» éä¸¥æ ¼æ¨¡å¼ä¸çåè½ï¼å¦éå¼åå»ºå ¨å±åéåå 餿 è¯ç¬¦ï¼è¿å¨ä¸¥æ ¼æ¨¡å¼ä¸æ¯ç¦æ¢çã
// å¨å
¨å±ä½ç¨åå建 empCount 屿§
// å 为æä»¬ä½¿ç¨äº varï¼å®ä¼æ 记为ä¸å¯é
ç½®
var empCount = 43;
// å¨å
¨å±ä½ç¨åå建 adminName 屿§
// å 为没æä½¿ç¨ varï¼å®ä¼æ 记为å¯é
ç½®
adminName = "xyz";
EmployeeDetails = {
name: "xyz",
age: 5,
designation: "Developer",
};
// delete å¯ç¨äºå é¤å¯¹è±¡ç屿§
delete EmployeeDetails.name; // è¿å true
// çè³å±æ§ä¸åå¨ï¼å®ä¹ä¼è¿å "true"
delete EmployeeDetails.salary; // è¿å true
// EmployeeDetails æ¯å
¨å±ä½ç¨åçä¸ä¸ªå±æ§ã
delete EmployeeDetails; // è¿å true
// ç¸åï¼empCount æ¯ä¸å¯é
ç½®çï¼
// å 为åå»ºå®æ¶ä½¿ç¨äº varã
delete empCount; // è¿å false
// adminName æ¯å
¨å±ä½ç¨åçä¸ä¸ªå±æ§ã
// å 为å®ä¸æ¯ç¨ var å建çï¼æä»¥å¯ä»¥å é¤ã
// å æ¤ï¼å®æ¯å¯é
ç½®çã
delete adminName; // è¿å true
// delete 对å
建éæå±æ§ä¸èµ·ä½ç¨
// è¿äºå±æ§æ¯ä¸å¯é
ç½®ç
delete Math.PI; // è¿å false
function f() {
var z = 44;
// delete 对å±é¨åéåä¸èµ·ä½ç¨
delete z; // è¿å false
}
delete åååé¾
å¨ä¸é¢ç示ä¾ä¸ï¼æä»¬å é¤ä¸ä¸ªå¯¹è±¡çèªæå±æ§ï¼èååé¾ä¸å ·æç¸ååç§°ç屿§å¯ç¨ï¼
function Foo() {
this.bar = 10;
}
Foo.prototype.bar = 42;
var foo = new Foo();
// foo.bar æä»£äºèªèº«å±æ§
console.log(foo.bar); // 10
// å é¤ foo 对象çèªèº«å±æ§
delete foo.bar; // è¿å true
// foo.bar ä»ç¶å¨ååé¾ä¸å¯ç¨ã
console.log(foo.bar); //42
// ä»ååä¸å é¤å±æ§
delete Foo.prototype.bar; // è¿å true
// ç±äºå·²å é¤âbarâ屿§ï¼å æ¤ä¸è½åä» Foo ç»§æ¿å®ã
console.log(foo.bar); //undefined
å 餿°ç»å
ç´
å½ä½ å é¤ä¸ä¸ªæ°ç»å
ç´ æ¶ï¼æ°ç»çé¿åº¦ï¼length
ï¼ä¸åå½±åãå³ä¾¿ä½ å é¤äºæ°ç»çæåä¸ä¸ªå
ç´ ä¹æ¯å¦æ¤ã
å½ç¨ delete
è¿ç®ç¬¦å é¤ä¸ä¸ªæ°ç»å
ç´ æ¶ï¼è¢«å é¤çå
ç´ å·²ç»ä¸åå±äºè¯¥æ°ç»ãä¸é¢çä¾åä¸ç¨ delete
å é¤äº trees[3]
ã
const trees = ["redwood", "bay", "cedar", "oak", "maple"];
delete trees[3];
console.log(3 in trees); // false
以䏿ä½å建äºä¸ä¸ªç¨çæ°ç»ï¼å¦æä½ æ³è®©ä¸ä¸ªæ°ç»å
ç´ ç»§ç»åå¨ï¼ä½æ¯å
¶å¼æ¯ undefined
ï¼é£ä¹å¯ä»¥å° undefined
èµå¼ç»è¿ä¸ªå
ç´ è䏿¯ä½¿ç¨ delete
ãä¸é¢çä¾åä¸ï¼trees[3]
被èµå¼ä¸º undefined
ï¼ä½è¯¥æ°ç»å
ç´ ä»ç¶åå¨ã
const trees = ["redwood", "bay", "cedar", "oak", "maple"];
trees[3] = undefined;
console.log(3 in trees); // true
å¦æä½ æ³éè¿æ¹åæ°ç»çå
容æ¥ç§»é¤ä¸ä¸ªæ°ç»å
ç´ ï¼è¯·ä½¿ç¨ splice()
æ¹æ³ãå¨ä¸é¢çä¾åä¸ï¼éè¿ä½¿ç¨ splice()
ï¼å° trees[3]
仿°ç»ä¸ç§»é¤ã
const trees = ["redwood", "bay", "cedar", "oak", "maple"];
trees.splice(3, 1);
console.log(trees); // ["redwood", "bay", "cedar", "maple"]
å é¤ä¸å¯é
ç½®å±æ§
å½ä¸ä¸ªå±æ§è¢«æ 记为ä¸å¯é
ç½®æ¶ï¼delete
ä¸ä¼æä»»ä½ææï¼å¹¶å°è¿å false
ãå¨ä¸¥æ ¼æ¨¡å¼ä¸ï¼ä¼æåº TypeError
ã
const Employee = {};
Object.defineProperty(Employee, "name", { configurable: false });
console.log(delete Employee.name); // è¿å false
var
ä¼å建ä¸å¯é
ç½®ç屿§ï¼å®ä¸è½ç¨ delete
è¿ç®ç¬¦å é¤ã
// ç±äºânameOtherâæ¯ä½¿ç¨ var å
³é®å声æçï¼
// å®è¢«æ 记为ä¸å¯é
ç½®ç
var nameOther = "XYZ";
// æä»¬å¯ä»¥éè¿ä»¥ä¸ä»£ç 访é®è¿ä¸ªå
¨å±å±æ§ï¼
Object.getOwnPropertyDescriptor(globalThis, "nameOther");
// {
// value: "XYZ",
// writable: true,
// enumerable: true,
// configurable: false
// }
delete globalThis.nameOther; // è¿å false
å¨ä¸¥æ ¼æ¨¡å¼ä¸ï¼ä¼æåºå¼å¸¸ã
å é¤å ¨å±å±æ§å¦æä¸ä¸ªå
¨å±å±æ§æ¯å¯é
ç½®çï¼ä¾å¦ï¼éè¿ç´æ¥ç屿§èµå¼ï¼ï¼å®å¯ä»¥è¢«å é¤ï¼éåå°å®ä»¬ä½ä¸ºå
¨å±åéçå¼ç¨å°äº§ç ReferenceError
ã
globalThis.globalVar = 1;
console.log(globalVar); // 1
// å¨éä¸¥æ ¼æ¨¡å¼ä¸ï¼ä¹å¯ä»¥ä½¿ç¨ `delete globalVar`
delete globalThis.globalVar;
console.log(globalVar); // ReferenceError: globalVar is not defined
è§è æµè§å¨å
¼å®¹æ§ åè§
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