symbol数据类型
symbol声明的类型独一无二
概念:表示独一无二的值,永远不相等
s1 = Symbol()
s2 = Symbol()
s1 !== s2
基本使用: 通过Symbol函数生成,得到一个symbol类型的值
使用场景:一般用在对象属性名,确保在对象中不会出现同名的属性,防止不小心修改或者覆盖。
symbol中的标识放字符串
Symbols 与 JSON.stringify()
1.当使用 JSON.strIngify() 时,以 symbol 值作为键的属性会被完全忽略
JSON.stringify({[Symbol("foo")]: "foo"});
// '{}'
2.Symbol 数据类型的另一特点是隐藏性,for···in,object.keys() 不能访问
let id = Symbol("id");
let obj = {
[id]:'symbol'
};
for(let option in obj){
console.log(obj[option]); //空
}
undefined
Object.keys(obj)
[]
3.不能转换成数字类型
Number()
parseint()
4.可以显式转换成字符串,不可以隐式。不能参与运算(字符串,数字)
symbol数据类型的更多相关文章
- ES6——Symbol数据类型
什么是 Symbol ? Symbol 表示独一无二的值,他是js中的 第七种数据类型. 基本的数据类型:null, undefined number boolean string symbol 引用 ...
- JS中的Symbol数据类型
最初JS的6种数据类型: null,undefined,boolean,number,string,object 注意:实际上,array和function都是属于object的子类 ES6中,新增了 ...
- ECMAScript6新增数据类型symbol数据类型
25.Symbol目的:为了解决对象之间属性名冲突的问题,Symbol它是引用数据类型. Symbol( ),它代表着一个独一无二的值 [name]: '小红',//加中括号代表默认创建了一个Symb ...
- Symbol -- JavaScript 语言的第七种数据类型
ES5 的对象属性名都是字符串,这容易造成属性名的冲突.比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突.如果有一种机制,保证 ...
- JavaScript数据类型 - Symbol
ES5:对象的属性名只能是字符串,当给对象添加新属性时,很容易造成属性名冲突,从而覆盖了原有的属性. ES6:所以ES6中引入了symbol数据类型,他表示独一无二的值,避免了属性名的冲突,此时对象的 ...
- Symbol() 的使用方法
简介:ES5的对象属性名都是字符串,这就很容易造成属性名的冲突,比如一个项目很庞大,又不是一个人开发 的,就有可能会造成变量名冲突,如果有一个独一无二的名字就好了,这样就能从根本上防止属性名冲突.这就 ...
- javascript篇-----数据类型
ECMAScript中一共有6种数据类型,其中包括5种基本数据类型(Undefined,Null,Boolean,Number,String)以及一种复杂数据类型(Object).[ES6增加多了一种 ...
- ES6的数据类型
首先ES6包含了ES5里面的数据类型,有undefined,null,boolean,String,Number,Object,而ES6又新增了一种数据类型是Symbol,这种的Symbol数据类型是 ...
- ECMA Script 6_Symbol() 唯一类型值声明函数_Symbol 数据类型
Symbol 数据类型 let s = Symbol(); typeof s; // "symbol" 是 ES6 继 Number,String,Boolean,Undefine ...
随机推荐
- Spark入门:第4节 Spark程序:1 - 9
五. Spark角色介绍 Spark是基于内存计算的大数据并行计算框架.因为其基于内存计算,比Hadoop中MapReduce计算框架具有更高的实时性,同时保证了高效容错性和可伸缩性.从2009年诞生 ...
- FF获6亿美元投资九城或许比贾跃亭更着急
互联网企业第九城市(以下简称"九城")确认,已透过旗下子公司与总部位于美国加州的法拉第未来公司签定协议,双方共同建立合资公司,在中国制造.营销及运营电动汽车.根据合资公司协议条款, ...
- uniGUI之学习方法(18)
官方例子D:\Program Files\FMSoft\Framework\uniGUI\Demos\Desktop 在Design里Main上右键,View as Form看到变化的属性. 看出变化 ...
- 在centos7中安装MySQL5.7
1.下载mysql源安装包 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 2.安装mysql源 yu ...
- Batch批量替换hosts
hosts文件替换 工作需要,要修改很多计算机的hosts文件,采用bat批量完成 解决的问题: 1.pc工作在非管理员权限,右键管理员权限太麻烦,因此采用执行中申请管理员权限的方式 2.hosts和 ...
- postman提交文件
说明 1.Headers中添加 Content-Type multipart/form-data 2.Body 中选择form-data 并添加 需要传的参数名和值 最后新的一行选择file ...
- 虚拟机centos7 识别不出网卡的解决方案
问题提出 之前在VMware安装centos 7(网络连接采取Nat方式),进入Centos 7后成功开启了sshd服务,然后在主机(我的windows系统)用puTTY软件可以ssh到虚拟机上.后来 ...
- Mini_Linux需要搭的环境
1.bash:ifconfig:command not found sudo yum install -y net-tools 2.如果Linux系统是通过复制得到 需要更改hostname vi ...
- ADO.NET基础必背知识
DO.NET 由.Net Framework 数据提供程序和DataSet 两部分构成. .NET FrameWork 是 Connection 连接对象 Command 命令对象 DataRe ...
- PaperReading20200226
CanChen ggchen@mail.ustc.edu.cn To share or not share Motivation: With the publiaction of NAS101, ...