今天更两篇,嘿嘿
这次讲一下ES6的新增数据类型Symbol,以前我们是五大基本数据类型,字符串(String)、数字(Number)、布尔值(Boolean)、未定义(Undefined)、对空(Null),现在成员喜加一。
Symbol 函数栈不能用 new 命令,因为 Symbol 是原始数据类型,不是对象。可以接受一个字符串作为参数,为新创建的 Symbol提供描述,用来显示在控制台或者作为字符串的时候使用,便于区分。
上面那句话可要记好了,圈起来,要考。
let str = Symbol('abc')
console.log(str);
此时此刻,代码看着很正常,没有报错,那我们看看控制台。
可以接受一个字符串作为参数,为新创建的 Symbol 提供描述
那么我们的abc其实就是个描述并不是它的值,接下来我们验证一下他的唯一性。
let str1 = Symbol('abc')
console.log(str1);
console.log(str===str1);
这边也验证出了他的唯一性,接下来我们根据上面说到的它的最大用法去写个小例子看一看。
var str = Symbol('a1')
var obj = {
// 使用变量去定义属性名需用[]包起来
[str]:'111',
a2:'222'
}
那么,我们想拿到222很简单,使用.直接获取obj.a2
上面我们说过了,Symbol(‘abc’)不等于Symbol(‘abc’),也就是描述一样,两个数据也不相等,那就是即使你写两遍,自己也不会等于自己,虽然 [] 里的 Symbol(‘a1’) 看着一样,但它们始终是不相等的,所以找不到,想要找到他,只能使用被赋值的那个变量。
所以,你学会了吗
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。