ES6之Symbol:让你的代码变得独一无二

以下内容均是参考ES6教程来进行详细解读的~ ES6教程

一、概述

要学习一个新的东西我们首先要了解它出现的原因以及作用,这样才能彻底的掌握它。在ES5中对象的属性名都是字符串,这样很容易造成属性名的冲突,从而出现后面的值覆盖前面的值的情况。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法,新方法的名字就有可能与现有方法产生冲突。如果有一种机制保证每个属性的名字都是独一无二的就好了,这样就从根本上防止了属性名的冲突,这就是ES6引入Symbold的原因!

Symbol是一种新的原始数据类型,表示独一无二的值。它属于Javascript语言的原生数据类型之一,其他数据类型是:undefinednull、布尔值(Boolean)、字符串(String)、数值(Number)、大整数(BigInt ==>用来表示任意精度的整数,因为Number类型只能表示有限范围内的整数,超过范围的整数会丢失经度或溢出,BigInt类型可以处理任意大小的整数,没有范围限制)、对象(Object ==> Object/Array/Function/Date/RegExp/Set/Map)。

Symbol值通过Symbol()函数生成,也就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的

猜你喜欢

转载自blog.csdn.net/weixin_45506717/article/details/131895302