javascript delete操作符

Posted jyfeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript delete操作符相关的知识,希望对你有一定的参考价值。

 

 delete 操作符是从某个对象上移除指定属性,成功删除的时候返回 true ,否则返回 false。

 

  如果删除的属性在对象上不存在,那么 delete 将不起作用,但仍会返回 true。

var person = {
      age:100,
       name:"yangguo",
   }
   console.log(person.name);//yangguo
   console.log(delete person.name);//true
   console.log(person.name);//undefined
   console.log(delete person.girlfriend);//true 删除一个不存在的属性时也会返回 true

 

不可配置的属性:当一个属性被设置为不可设置,delete操作将不会有任何效果,并且会返回false。在严格模式下会抛出语法错误。

var person={};
Object.defineProperty(person,"name",{value:"yangguo",configuar:false});
console.log(person);//{name: "yangguo"}
console.log(delete person.name);//false
console.log(person.name);//yangguo

 

任何使用 var 声明的属性 不能从全局作用域和函数作用域中删除。未使用 var 声明的属性将会被删除

var person = "yangguo";
console.log(delete person);//false
console.log(person);//yangguo
            
color = "red";
console.log(delete color)//true
console.log(color);//Uncaught ReferenceError: color is not defined

 

delete 操作符不能删除任何在全局作用域中的函数(无论这个函数是来自于函数声明或函数表达式)

function fun(){};
console.log(delete fun);//false
console.log(fun);//? fun(){}
            
var func=function(){};
console.log(delete func);//false
console.log(func);//? (){}

 

以上是关于javascript delete操作符的主要内容,如果未能解决你的问题,请参考以下文章

Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段

VSCode自定义代码片段12——JavaScript的Promise对象

VSCode自定义代码片段12——JavaScript的Promise对象

30秒就能看懂的JavaScript 代码片段

为啥这个代码片段说包含错误?

常用Javascript代码片段集锦