首页 > 其他分享 >Es6-符号

Es6-符号

时间:2023-09-16 21:22:17浏览次数:31  
标签:Es6 转换 读取 符号 Object 无法 属性

7-1. 普通符号

符号是ES6新增的一个数据类型,它通过使用函数 Symbol(符号描述) 来创建

符号设计的初衷,是为了给对象设置私有属性

私有属性:只能在对象内部使用,外面无法使用

符号具有以下特点:

  • 没有字面量
  • 使用 typeof 得到的类型是 symbol
  • 每次调用 Symbol 函数得到的符号永远不相等,无论符号名是否相同
  • 符号可以作为对象的属性名存在,这种属性称之为符号属性
    • 开发者可以通过精心的设计,让这些属性无法通过常规方式被外界访问
    • 符号属性是不能枚举的,因此在 for-in 循环中无法读取到符号属性,Object.keys 方法也无法读取到符号属性
    • Object.getOwnPropertyNames 尽管可以得到所有无法枚举的属性,但是仍然无法读取到符号属性
    • ES6 新增 Object.getOwnPropertySymbols 方法,可以读取符号
  • 符号无法被隐式转换,因此不能被用于数学运算、字符串拼接或其他隐式转换的场景,但符号可以显式的转换为字符串,通过 String 构造函数进行转换即可,console.log 之所以可以输出符号,是它在内部进行了显式转换

标签:Es6,转换,读取,符号,Object,无法,属性
From: https://www.cnblogs.com/bingquan1/p/17707337.html

相关文章

  • ORACLE-【模糊查询】oracle中带有特殊符号的模糊查询
    首先讲一下Oracle模糊查询,模糊查询使用的是like关键字Oracle模糊查询可使用的通配符,Oralce中SQL语句提供了四种匹配模式:%零或者多个字符_单一任何字符(下划线)\特殊字符[]在某一范围内的字符,如[0-9]或者[aeth][^]不在某范围内的字符,如[^0-9]或者[^aeth]后两......
  • 问题记录:vue项目中的babel转化器是否可以转换npm install下来的依赖库,使该依赖库也可
    vue项目中的babel转化器是否可以转换npminstall下来的依赖库,使该依赖库也可以兼容es6语法?是的,Babel转换器可以用于转换通过npminstall安装的依赖库,以使其兼容ES6语法。Babel是一个广泛使用的JavaScript编译器,可以将较新版本的JavaScript代码转换为向后兼容的版本,以便在不支持这......
  • 【有符号数】原码,反码,补码表示法
     1.原码......
  • 以管理员身份运行 Bandizip 并创建符号链接.问题的解决
    问题描述解压文件出现这样的错误;问题解决关闭这个,然后右键BandZip软件,以管理员身份运行即可解决;......
  • 每日一题: 细说es6种的Reflect
    1、Reflect是什么,有什么作用?Reflect是ES6为了操作对象而新增的API,Reflect对象是一个全局的普通的对象,Reflect的原型就是Object.作用:将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上,那么以后我们就可以从Reflect对象上可以拿到语言内......
  • Mybatis 特殊符号(大于,小于,不等于)
    符号原符号替换符号小于<&lt;小于等于<=&lt;=大于>&gt;大于等于>=&gt;=不等于<>&lt;&gt;与&&amp;单引号’&apos;双引号"&quot;......
  • Python取余符号是什么?其运算规则有哪些?
    在Python中,取余运算是一种算术运算,又叫做模运算,是一种非常常用的运算方式,可以应用于判断奇偶数、计算周期、循环计数器等各种场景。那么Python中取余符号是什么?其运算规则有哪些?以下是详细内容介绍。Python中取余符号是什么?Python中的取余运算使用百分号%作为符号,其......
  • ES6.Class技术
    第六讲ES6.Class​编程语言语言,都有关于类的定义和使用,java,C#,C++。使用class的关键字,js之前的版本,没有用。保留字,ES6启用了该关键字。6.1传统方法通过构造函数定义,并生成对象。//定义传统的类,js之前的写法functionPerson(name,salary){this.......
  • 前端科普系列-Babel:把 ES6 送上天的通天塔
    前端科普系列-Babel:把ES6送上天的通天塔无名之辈一个有代码洁癖的前端小开发,热爱生活,追求极致​关注他 108人赞同了该文章摘要本系列文章旨在帮助学习者了解前端,主要覆盖前端的基础知识,但不深入讲解,定位为大而全并非细而精,适合非前端开发的同学......
  • esm中的符号绑定
    在使用结构赋值的时候,如下图,打印的count都是1,因为结构赋值其实重新开辟了一块内存空间。在用esm导出的时候会发现第二个count变成了2,这是因为他们是同一块内存空间。这叫做符号绑定。解决:导出的时候使用常量const......