Symbol相关知识点

Symbol相关知识点,第1张

//ES6 引用了一种新的原始数据类型 Symbol,表示独一无二的值

        //它是javascript语言第七种数据类型,是一种类似于字符串的数据类型

        //Symbol特点

        //1、symbol的值是唯一的,用来解决命名冲突的问题

        //2、symbol值不能与其他数据进行运算

        //3、symbol 定义对象属性不能对对象使用for... in循环遍历,但是可以使用

        //refilct.ownKey获取对象的所有键名

        //创建symbol

        let s = Symbol()

        console.log(s, typeof s)//数据类型为symbol

        let s2 = symbol("pizza")

        let s3 = symbol("pizza")

        console.log(s3 === s2)//false

        let s4 = symbol.for('爱你')

        let s6 = symbol.for("sb")

        console.log(s4 === s6)//true

        //symbol 不可用来运算

        let ops = s + 100//false

        let ops1 = s > 100//false

        let ops2 = s + s//false

      //八种数据类型

      // USONB you are so niubility

      // u undefind

      // s string

      // o object

      // n null  number

      //boolean

 //Symbol的作用 就是表示独一无二的值。一定要大写Symbol

        //给对象添加一个方法

        // game = {

        // }

        // let methods = {

        //     up: Symbol(),

        //     down: Symbol()

        // }

        // game[methods.up] = function () {

        //     console.log("我面可以改变形状")

        // }

        // game[methods.down] = function () {

        //     console.log("我面快速下降")

        // }

        //     ()

        // console.log(game)

        let youxi={

            name:"狼人杀",

            [Symbol('say')]: function () {

                  console.log("wo")

             }

        }

        console.log(youxi)

//Symbol.hasInstance作用就是自己控制类型检测

        //class跟构造函数一样,为了实例化对象

        class person {

            static [Symbol.hasInstance](param) {

                console.log(param)

                return false

            }

        }

        let o = "dg";

        console.log(o instanceof person)//false

        //symbol.iscouncatSpreadable

        //实例句

        const soso=['2','4','3','1']

          const soso1 = ['10', '12', '13', '11']

          arr[Symbol.isConcatSpreadable]=false

          console.log(soso.concat(soso))//concat(),合并数组但不合并数组的元素

       //同样方法

        const arr = ['1', '2']

        const arr1 = ['dg1', '2', '3']

        console.log([...arr, arr1])

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1297602.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-10
下一篇2022-06-10

发表评论

登录后才能评论

评论列表(0条)

    保存