Symbol

1.创建Symbol

 let S=Symbol();
        console.log(typeof S); //Symbol
        let S2=Symbol('小红');
        let S3=Symbol('小红');
        console.log(S2===S3);  //false  唯一性
        //Symbol.for创建
        let S4=Symbol.for('小红');
        let S5=Symbol.for('小红');
        console.log(S4===S5);  //true
        //不能与其他数据进行运算
        let result1=S+100;  //ERROR
        let result2=S>100;  //ERROR
        let result3=S+'100';  //ERROR

**注js数据类型小总结( //USONB )
    //undefined
    //string symbol
    //object
    //null number
    //boolean**

2.Symbol创建对象属性

  //向对象中添加方法 up down
        let game={}
        //声明对象
        let methods={
            up:Symbol(),
            down:Symbol()
        }
        game[methods.up]=function(){
            console.log(12);
        }
        game[methods.down]=function(){
            console.log(34);
        }
        console.log(game);
        let youxi={
            name:'狼人杀',
            [Symbol('song')]:function(){
                console.log('唱歌');
            },
            [Symbol('dance')]:function(){
                console.log('跳舞');
            }
        }
        console.log(youxi);

3.Symbol内置值

   class Person{
            static [Symbol.hasInstance](){
                console.log('我被用来检测类型');
            }
        }
        let o={};
        console.log(o instanceof Person);
        const arr=[1,2,3];
        const arr2=[4,5,6]
        arr2[Symbol.isConcatSpreadable]=false;
        console.log(arr.concat(arr2));  //1,2,3,4,5,6
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值