ES6新增数据类型(Symbol)
基本(原始)类型和引用类型介绍
在了解Symbol之前,我们需要了解下JS的数据类型,在JS中数据类型分为两类:基本(原始)类型和引用类型。
- 基本(原始)类型:数值型(Number),字符类型(String),布尔值型(Boolean),null 和 underfined
- 引用类型:对象(Object)
那es6新增的Symbol是什么类型呢? 这里Symbol也是基本类型;
概述
ES6 引入了一种新的原始数据类型 Symbol ,表示
独一无二的值
,最大的用法是用来定义对象的唯一属性名。
let syb1 = Symbol();
let syb2 = Symbol();
console.log(syb1) // Symbol()
console.log(typeof syb1) // 'symbol'
console.log(syb1 == syb2) // false
console.log(syb1 === syb2) // false
由此可见,即使
Symbol
的描述值参数相同,它们的值也不相同,描述值仅仅是起描述的作用,不会对Symbol值本身起到任何的改变。关于描述值需要注意的一点:
接受除Symbol值以外所有的值
let s1 = Symbol('foo');
let s2 = Symbol('bar');
let s3 = Symbol(3.6);
let s4 = Symbol({
foo:'bar'});
console.log(s1) // Symbol(foo)
console.log(s2) // Symbol(bar)
console.log(s1.toString()) // "Symbol(foo)"
console.log(s2.toString() )// "Symbol(bar)"
console.log(s3) //Symbol(3.6)
console.log(s4) //Symbol([object Object])
版权声明:本文为qq_46366496原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。