ES6新增数据类型(Symbol)

  • Post author:
  • Post category:其他




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 版权协议,转载请附上原文出处链接和本声明。