首页 > 其他分享 >ES6-ES11 对象添加symbol类型的属性

ES6-ES11 对象添加symbol类型的属性

时间:2023-03-04 20:12:41浏览次数:43  
标签:function ES6 console log symbol say youxi ES11 Symbol

原视频

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Symbol 创建对象属性</title>
</head>
<body>
    <script>
        //向对象中添加方法 up down
        let game = {
            name:'俄罗斯方块',
            up: function(){},
            down: function(){}
        };
        
        //声明一个对象
        // let methods = {
        //     up: Symbol(),
        //     down: Symbol()
        // };

        // game[methods.up] = function(){
        //     console.log("我可以改变形状");
        // }

        // game[methods.down] = function(){
        //     console.log("我可以快速下降!!");
        // }

        // console.log(game);

        //
        /*
            因为Symbol('say')生成的标识不是唯一的,所以定义的在youxi1里面的[Symbol('say')]是无法调用的,除非把Symbol('say')放块外面定义,并用变量保存
            想调用可以这样:首先,在函数体内部,把[Symbol('say')]改成[Symbol.for('say')]
            其次,在对象youxi外定义变量let say = Symbol.for('say')
            最后,在对象youxi外部调用:youxi[say]()。
        */
        let youxi = {
            name:"狼人杀",
            [Symbol('say')]: function(){
                console.log("我可以发言")
            },
            [Symbol('zibao')]: function(){
                console.log('我可以自爆');
            }
        }

        console.log(youxi)

        
    </script>
</body>
</html>

标签:function,ES6,console,log,symbol,say,youxi,ES11,Symbol
From: https://www.cnblogs.com/chuixulvcao/p/17178976.html

相关文章

  • ES6-ES11 Symbol的简介与创建
    原视频<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><titl......
  • 4.理解es6 class构造以及继承的底层实现原理
    javascript使用的是原型式继承,我们可以通过原型的特性实现类的继承,es6为我们提供了像面向对象继承一样的语法糖。1.类的实现class底层仍然是构造函数调用_classCallChe......
  • 向chatGPT请教SVG中 元素defs 与symbol的使用
    NXMXL请帮我解释一下.在svg中,symbol和defs的相同的和不同点chatGPT<symbol>和<defs>都是SVG中用于定义可重复使用的元素的标签,但它们在用法和效果上有一些不同点:用法......
  • ES6标准的JS代码,是否能进码混淆加密?
    nodejs开发,使用es6标准的javascript代码,是否能进行代码混淆加密?回答是肯定的,能。使用JShaman就可以进行加密。以import语法为例,用一个node小工程进行测试:先准备两段代码,一个......
  • JavaScript模块化理解-CommonJS、AMD、CMD、UMD、ES6
    参考:JavaScript模块化-CommonJS、AMD、CMD、UMD、ES6前端模块化——彻底搞懂AMD、CMD、ESM和CommonJS 在JS早期,使用script标签引入JS,会造成以下问题:加载的时候阻塞......
  • symbol的基本使用
    Symbol是什么Symbol是ES6中新增的一个基本数据类型,翻译为符号。在ES6之前,对象的属性名都是字符串形式,那么很容易造成属性名冲突;比如原来有一个对象,我们希望在其中添加......
  • ES6 简单笔记2
        26.ES6Promise简介<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge">......
  • ES6笔记
    1. let和const命令1.1let命令{leta=10;varb=1;}a//ReferenceError:aisnotdefined.b//1let声明的变量报错,var声明的变量返回了正确的值......
  • ES6-ES11 函数参数的默认值设置
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>函数参......
  • ES6-ES11 rest参数
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>rest参......