ECMAScript 6 Symbol
可能大家对Symbol很陌生,简单的来说,他就是新的原始数据类型,表示独一无二的值
文章主要参考阮一峰老师的 ECMAScript 6入门,站在巨人的肩膀上看世界…
认识Symbol
Symbol 值通过Symbol函数生成。凡是属性名属于 Symbol 类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。
1 | // Symbol函数前不能使用new命令,否则会报错。 |
Symbol函数可以接受一个字符串作为参数,表示对 Symbol 实例的描述,主要是为了在控制台显示,或者转为字符串时,比较容易区分。
1 | let s1 = Symbol('foo'); |
Symbol在对象中的应用
由于每一个 Symbol 值都是不相等的,这意味着 Symbol 值可以作为标识符,用于对象的属性名,就能保证不会出现同名的属性。
1 | et mySymbol = Symbol(); |
Symbol对象元素的保护作用
1 | // 使用Symbol来进行保护年龄。 |
Symbol.for(),Symbol.keyFor()
有时,我们希望重新使用同一个 Symbol 值,Symbol.for方法可以做到这一点。
1 | let s1 = Symbol.for('foo'); |
Symbol.keyFor方法返回一个已登记的 Symbol 类型值的key。
1 | let s1 = Symbol.for("foo"); |
更多的Symbol相关的知识可以移步阮一峰老师的博客,我这里就不贴出来了
以上就是我对ECMAScript 6 Symbol的一些理解,如果文章由于我学识浅薄,导致您发现有严重谬误的地方,请一定在评论中指出,我会在第一时间修正我的博文,以避免误人子弟。
-------------本文结束感谢您的阅读-------------