理解ES6的新数据类型:Symbol】的更多相关文章

ES6之前的数组类型 在ES6之前JS只有6种数据类型,分别是:Undefined.Null.布尔值(Boolean).字符串(String).数值(Number).对象(Object). ES6引入了一种新的 原始数据类型 Symbol,表示独一无二的值,至此JS有了 7 种数据类型. 随着JS的版本更新,未来可能会出现其他新的数据类型. Symbol 是什么 Symbol值通过Symbol函数生成.这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的Symbol…
今天小编和大家来聊一聊es6中新增的一个原始数据类型Symbol.在es5中原始数据类型(基本数据类型)有以下六种:Undefind.Null.Bool. String.Number.Object.今天结合实例和大家一起探讨一下这个神奇的Symbol.大家也可以关注我的微信公众号,蜗牛全栈. 一.基本声明方式1.方式一 let s1 = Symbol() let s2 = Symbol() console.log(s1) // Symbol{} console.log(s2) // Symbol…
ES6 增加了一个新的基本数据类型 symbol. 不过,和其他基本数据类型相比,它有点与众不同,因为它没有字面量的表现形式,而且创建的方式也有点奇怪,只能通过调用全局函数Symbol()来完成. let firstSymbol = Symbol(); 这里注意一点,Symbol函数调用的时候,前面不要加new. 创建了一个symbol, 它有什么作用呢? 可以把它看作一个类字符串,和字符串的使用方式一致,字符串能用的地方,symbol 基本都能用,最常用的地方就是作为对象的属性名使用,因为,s…
在ES5及早期版本中,JS语言包含5中原始类型: 字符串型 数字型 布尔型 null undefined ES6引入了第六种原始类型: Symbol 创建Symbol let firstName = Symbol(); let person = {}; person[firstName] = "JiaJia"; console.log(person[firstName]); // "JiaJia" Symbol的辨识方法 使用 typeof 来检测辨识是否为Symb…
学习了es6语法的symbol类型,整理笔记,闲时复习. Symbol 是es6新增的第七种原始数据类型(null,string,number,undefined,boolean,object),是为了在对象中对属性名滥用而导致的冲突问题. ps: 既然是数据类型,不是对象,那么就不能用new命令,因此不能添加属性 let a = Symbol('a') console.log(a) // Symbol(a) console.log(typeof a) // symbol 简单来说:一旦声明一个…
Symbol 需计算字面量属性时使用 const benz = Symbol('benz'); const car = { [benz]: 'benz car' }; const info = Symbol('my car info'); // 此时定义info为可枚举属性 Object.defineProperty(car, info, { value: 'benz car description', enumerable: true }); // 定义price为不可枚举属性 Object.…
简介:Symbol类型是es6新增的一个数据类型,Es5的基本数据类型(undefined,null,Object,function,Number,string) Symbol值通过Symbol函数生成 Symbol类型是保证每个属性的名字都是独一无二的,对于一个对象由对个模块构成的情况非常有用     值的输出: var a=Symbol(‘foo’)=>Symbol(foo),与其他类型不能运算,可以转换成字符串   实例: var a=Symbol() var b={} var c={a:…
Symbol 概述 ES5 的对象属性名都是字符串,这容易造成属性名的冲突.比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突.如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突.这就是 ES6 引入Symbol的原因. ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值.它是 JavaScript 语言的第七种数据类型,前六种是:undefined.null.布尔值(Boo…
一.为什么ES6引入Symbol 有时候我们在项目开发的过程中可能会遇到这样的问题,我写了一个对象,而另外的同时则在这个对象里面添加了一个属性或是方法,倘若添加的这个属性或是方法是原本的对象中本来就有的,那么这个时候势必会造成冲突,那么为了防止这种冲突,ES6 就引入了Symbol 二.Symbol使用方法 Symbol是一个新的数据类型,所以不要因为Symbol的使用方法的特殊而认为它只是es6中的新的方法.它所代表的是独一无二的,即便其参数一致. 1.使用方法 Symbol的使用方法是Sym…