首页 > 其他分享 >delete操作符

delete操作符

时间:2024-02-23 10:11:55浏览次数:22  
标签:函数 删除 作用域 操作符 delete 属性

delete 操作符用于删除对象的某个属性;如果没有指向这个属性的引用,那它最终会被释放。

delete操作符返回一个布尔值: true指删除成功,否则返回false但是通过 varconst 或 let 关键字声明的变量无法用 delete 操作符来删除。

 

 MDN 上也对 delete 的一些特殊情况有说明:

  • 如果你试图删除的属性不存在,那么 delete 将不会起任何作用,但仍会返回 true
  • 如果对象的原型链上有一个与待删除属性同名的属性,那么删除属性之后,对象会使用原型链上的那个属性(也就是说,delete 操作只会在自身的属性上起作用
  • 任何使用 var 声明的属性不能从全局作用域或函数的作用域中删除。任何用 let 或 const 声明的属性不能够从它被声明的作用域中删除。
    • 这样的话,delete 操作不能删除任何在全局作用域中的函数(无论这个函数是来自于函数声明或函数表达式)
    • 除了在全局作用域中的函数不能被删除,在对象 (object) 中的函数是能够用 delete 操作删除的。
  • 不可设置的 (Non-configurable) 属性不能被移除。这意味着像 Math, Array, Object 内置对象的属性以及使用Object.defineProperty() 方法设置为不可设置的属性不能被删除。

标签:函数,删除,作用域,操作符,delete,属性
From: https://www.cnblogs.com/yaotuo/p/18028840

相关文章

  • C++强制类型转换详解:四种操作符解析与实例演示
     概述:C++中的强制类型转换是实现数据类型间转换的关键机制,包括static_cast、dynamic_cast、const_cast和reinterpret_cast四种。这些操作符适用于不同的场景,通过实例源代码详细阐述了它们的使用方法和步骤。在C++中,强制类型转换是将一个数据类型的值转换为另一个数据类型的过......
  • 使用delete和Vue.delete删除数组元素的区别
    JavaScript中的delete运算符可以删除对象的属性,但是它不适用于数组。如果你试图使用delete运算符删除数组中的元素,你会发现该元素的值变为undefined,而数组的长度并没有改变。Vue.js提供了一个名为Vue.delete的方法,它可以帮助我们在删除数组元素时触发响应式更新。与原生JavaScrip......
  • RxJS中高阶映射操作符的全面讲解:switchMap, mergeMap, concatMap (and exhaustMap)
    原文链接:https://blog.angular-university.io/rxjs-higher-order-mapping/有一些在日常开发中常用的RxJS的操作符是高阶操作符:switchMap,mergeMap,concatMap,以及exhaustMap。举个例子,程序中大多数的网络请求都是通过以上某个操作符来完成的,所以为了能够写出几乎所有反应式编程,必须......
  • Google搜索操作符:让你秒变搜索专家
    搜索引擎对互联网的重要性不言而喻,不过,随着ChatGPT及其类似AI工具的推出,对搜索引擎带来了前所未有的挑战。因为ChatGPT具有自然语言处理能力,能够更好地理解用户的搜索意图,提供更准确、更相关的搜索结果。同时,还可以根据用户的搜索历史和行为数据,为用户提供更加个性化的搜索体验,推......
  • Delete a node from bst【2月15日学习笔记】
    点击查看代码//Deleteanodefrombst#include<iostream>structnode{intdata;node*left;node*right;};node*getnewnode(intx){node*temp=newnode;temp->data=x;temp->left=temp->right=NULL;returntem......
  • 34 数组操作符的重载
    数组访问的一些思考string类最大限度地考虑了C字符串的兼容性。可以按照使用C字符串的方式适应string对象。#include<iostream>#include"add.h"usingnamespacestd;intmain(void){strings="safbd1334";intn=0;for(inti=0;i<s.length()......
  • 【侯捷C++面向对象笔记】补充5-new & delete重载
    平时所使用的new和delete操作,称之为表达式,一般由好几个步骤组成。如上图所示,new表达式会被编译器转化为三个步骤。new表达式不能重载,但其中operatornew是可以重载的。➡️全局::operatornew的重载why不能放在namespace内?因为全局operatornew是放在defaultglobalnamespac......
  • Vue 数据相关实例方法vm.$watch、vm.$set、vm.$delete介绍
    vm.$watch观察vue实例变化的一个表达式或计算属性函数。回调函数得到的参数为新值和旧值。表达式只接受监督的键路径。对于更复杂的表达式,用一个函数取代。//写法一:this.$watch('a.b.c',function(newVal,oldVal){})//键路径vm.$watch(function(){this.fullName=this.......
  • DELETE 循环中删除某条数据
    *&---------------------------------------------------------------------**&ReportZZTEST*&---------------------------------------------------------------------**&*&-------------------------------------------------------------------......
  • C语言中的操作符:了解与实践
    ​✨✨欢迎大家来到贝蒂大讲堂✨✨​......