00:00
Hello,大家好,这个小节呢,我们来介绍一下symbol的内置值。啊,除了定义自己使用的这个symbol唯一值以外呢,ES6还提供了11个内置的symbol值,指向语言内部使用的方法。那么什么是内置的symbol值呢?这里其实指的是symbol的一个属性。大家可以看一下啊,symbol.symbol symbol点这些都是symbol这个对象的一个属性,而这个属性用来做什么呢?它用来做对象的属性。啊,听起来有点太绕是吧,有点绕啊,诶,Has这个是symbol的一个属性,而这个整体将作为对象的属性来存在。那么这些属性呢,我们通过对他们的一个设置可以呢。改变啊,对象在特定场景下的一个表现结果。啊,我们来演示一下啊,首先来看第一个symbol.has instance,先说一下这些我们都,我们不会说每一个都演示啊,只会演示这么一两个,大家呢,了解一下就OK了,好,那切过来啊,我们先演示第一个啊,就是这个symbolian has instance,来一个person。
01:19
Class这个语法我们还没有介绍啊,不过咱们这呢,为了演示它,就必须先把class先放到这个位置来啊,大家呢,呃,先看一下,我写一个static,后边呢,加这个属性symbol.has instance。啊,这个person那个class呢,其实跟我们的构造函数是一样的啊,跟构造函数是一样的,就是为了实例化对象而用的好,然后里边呢,我来做一个输出log,我。被用来检测这个类型了。好了,保存,然后接下来呢,我们来声明一个对象,比如说let o等于一个对象,然后接下来log,然后o instance of person。
02:08
大家看一下我用O这个对象啊,来去做一个啥,做一个类型检测啊。保存切过来刷新看这啊,我被用来检测类型了,就这个方法呢,它跟我们的普通方法不一样,它有自己的自动执行场景。啊,就在特定的时机啊,就会去执行,而且呢,还会把这个参数传进来啊,我们来写一下。来使用conso log打印一下我们这个变量保存。看一下就是可以把instance of前边的这个值传递给这个方法由你来决定。啊,你来决定你内部如果说返回的是一个处。那么整体结果看一下就是个true,如果说你这块返回的是一个false,那么整个的判断结果就是一个false,这就是symbol has instance它的一个作用。
03:02
啊,就是可以自己去控制类型检测。好,这是第一个has instance,那么下边的话,咱们再来演示第二个啊,第二个呢是is contentpar,就是当我们的这个。用这个谁呀,Con这个方法来对这个数组啊,来进行一个什么呀,进行一个合并的时候。啊,来通过这个属性的设置来决定我们的这个值到底可不可以展开。光这么说啊,可能大家听的并不是很清楚,咱们来举个例子啊,通过例子一下子你就搞懂了,OK,咱们写个cost a,来一个123。然后呢,Cost a2等于一个456,好,然后接下来的话呢,我来做一个合并log AR点。Can,做数组合并的啊,ARR2,好了,点开它保存看一眼123456没有问题对吧?哎,没有问题啊,正好是把它们两个数组元素都合并起来,接下来的话呢,我们来设置一下A222SYMBOL。
04:13
点is content这个值啊,是一个布尔类型值。啊,你要是设置为false就代表呢,不可展开保存看结果。看下结果,就是我这个值呢,我不展开,我要作为一个整体来跟你做一个合并,看这123,然后第四个元素呢,是456的一个结合体。啊,是这样的一个设置,所以说它来控制我们这个值是否可以展开。好,然后下边呢,还有好多属性,我们在这儿就不挨个的去过了啊,这些属性啊,所对应的一些值都是来控制我们这个对象在特定场景下边的一个表现。你比如说on scope这块啊,在with这个代码块当中的一个表现,有哪些属性我要排除啊,你加进来。
05:06
啊,只with语句啊,咱们这个用的比较少啊,然后match啊,Replace啊,Search split这些都是一些字符串的方法,就是说我这个对象是吧,在被当做啊,这个match啊,Replace啊,然后search spli啊,作为他们的食餐在。运行时啊,运行时如果这样运行,就会触发这个对象身上的这些这些方法啊,Match replace search和SP,注意这些都是symbol的属性。啊,Symbol的属性就是自动去触发他们的一个啊方法就是这些东西都是自动的,而不需要我们手动去执行。好,那么这块呢,这是咱们接下来要讲的一个内容迭代器,然后这个呢是tomitive是吧,就是当我们这个对象要转为原始数据类型时啊,会通过调用这个方法啊来得到,就通过它的一个返回结果来做一个转换,然后to string t是啊调这个to string方法的时候呢,返回一个结果,然后species是创建衍生对象时会使用该属性。
06:18
好,那么总的来说这些属性,首先这些东西啊,都是symbol里边的一个属性。看这是吧,都是symbol里边的属性是固定写法,而他们这个整体呢,又作为我们对象的一个属性去设置,来改变我们对象啊,在特定场景下边的一个表现。啊,说白了就是扩展对象功能的。好了,那么这个小节呢,关于symbol的内置属性呢,我们就介绍这么多。
我来说两句