00:00
Hello,大家好,这个小节我们来学习一下ES里边的symbol。啊,ES6呢,它引入了一种新的数据类型啊,而且是原始数据类型symbol啊来表示独一无二的值,注意啊,这是一个新的数据类型啊,它是呢GS语言的第七种数据类型,咱们原来呢有六种啊,待会儿呢一起回顾一下。那么symbol呢?是一种类似于字符串的数据类型,类似,但是又不是啊。symbol的特点,Symbol的值是唯一的。啊,可以用来解决命名冲突的问题。第二呢,Symbol这个值不能跟其他数据进行运算,比如说四则运算啊,加减乘除。啊,字符串拼接,然后进行比较等等都不能做啊,Simple呢,给对象定义的属性啊,不能使用for印循环来便历啊,但是你要是想遍历呢,可以通过reflect.on case来获取对象所有的键名来进行一个遍历。
01:04
好了,首先咱们切过来啊,来去创建一个symbol。重建symbol。如何来创建symbol呢?这里呢有一个函数,通过这个函数可以来创建,OK,看一下在这来一个let s等于一个sym bool括弧。通过这个函数调用可以返回一个symbol的值,我们使用console log来打一下S,顺便来打一下它的一个类型。保存。看一下结果啊,这块是一个symbol类型是一个symbol。这个结果呢,可能有点出乎大家一个意料,哎,不是说随机的吗?不是唯一的吗?按道理来讲是一个一长串的一个东西啊,哎,这时候大家注意啊,跟我们想的不一样啊,这个唯一性在这儿我们是看不到的。啊,对于我们来说是不可见的。啊,它内部呢,实现了唯一性。
02:00
好,这是symbol的一个输出,这也是创建的第一种方式啊,那么第二种方式呢,还是用它。不过呢,在里边可以传入一个字符串let s2等于一个symbol。传一个字符串,就是随便写是吧,上硅谷。这个字符串呢,是一个描述字符串,可以呢啊,方便我们通过这个描述字符串来去。啊,更好的来理解这个值,它的一个作用。啊,就是字面就是其实说白就跟做一个注释差不多,好标注出来,我这个symbol是干嘛的,为谁设置的。啊,然后同学可能会说啊,那那我知道了,那这个symbol呢?啊,咱们传入字符串是不是返回结果就是固定的呢?啊这个也不是看一下S3等于一个symbol。再来一个上硅谷一模一样,然后两个做一下对比,看o log,打印S2,然后等于S3保存。
03:00
大家看一下,这个结果也不一样,就这块儿内容只是一个标志。啊,只是一个标志啊,但是呢,它所返回的结果却不一样,就好比说我有两个张三。但是两个张三的编号是不一样的啊,是这样的一个道理。好,这是我们当前这个symbol的一个创建,两第二种方式,那么下边还有一种方式也可以创建,就是使用这个symbol点方法来创建。啊,Let,然后S4等于一个symbol.for此时呢,这个symbol呢,成立一个对象对吧?上面是一个函数,下边是一个对象,所以对于这样的数据,我们把它称之为函数对象。好在里边也是一样,传入一个参数字符串。然后看一下结果SS4。然后呢,Type of s保存。看一下啊,它的结果也是一个symbol啊,类型没有问题。
04:00
那么这通过这种方式创建的话,我们是可以通过这个描述字符串来得出唯一的symbol值的。什么意思呢?就来一个let s5等于一个symbol.four,再来一个上硅谷。啊,那么它们两个值是一样的。来做一个对比。S5保存。好了,这是symbol的创建的两大类方式。那么C呢,还有一些注意事项,第一个呢,就是不能运算啊,不能与其他数据进行一个运算啊,比方说咱们这来一个let result等于一个S啊,加上一个100保存看一下不行是吧?然后呢,咱们再去做一个这个比较啊,S大于一个100保存也不行是吧?再来一个字符串的拼接。哎,我这S加上一个字符串100保存也不行啊,也不行,所以说运算以及这个对比呢,都不可以啊,所以说我们能不能自已和自己相加呢?哎,看一下也不行。
05:07
啊也不行,所以说它不能跟这个数据呢,进行一个运算对比比较也不可以。这是当前的symbol一个注意事项。然后呢,最后呢,咱们来对GS的数据类型呢,做一个诶小总结啊,咱们说了啊,总共是七种了啊,那么如何来去记忆呢?啊强哥这呢总就是总结了一个小的字符串的一个合并体,就是USO啊B。啊,每一个字母呢,代表一个或者两个数据类型啊,那么这一个。组合单词,它代表什么意思呢?啊,你看这是翻译成英文是吧?You are so newity是吧?你是如此的牛掰,然后呢,U代表什么呢?U代表的是on。然后呢,S呢代表是string,还有呢symbol,然后下边呢是这个O代表是O,然后N呢代表是none以及number,还有最后一个B表示是boing,所以说只要记住你很牛掰,那GS数据类型就能记住了。
06:15
好了,那么这个小节关于symbol的一个介绍,以及symbol的创建,我们就先到这儿。
我来说两句