代码之家  ›  专栏  ›  技术社区  ›  ckersch

在Javascript/Typescript中,三方括号(即{{stuff}}}})是什么意思?

  •  1
  • ckersch  · 技术社区  · 6 年前

    我正在浏览一个我想参与的新项目的代码,作者用三个方括号定义了很多方法,如下所示:

    deinitialize() {{{
        this.destroyed = true;
        $(window).off("resize", this.resize as () => void);
        if (this.resize_debounce) {
            clearTimeout(this.resize_debounce);
            this.resize_debounce = null;
        }
        this.svg.remove();
        this.container = null;
    }}}
    

    我从没见过三个括号(括号?胡子?)用那种方式。我对它们唯一的经验是使用聚合物之类的东西进行数据绑定。这是怎么回事?

    源代码如下: https://github.com/online-go/online-go.com/blob/devel/src/components/RatingsChart/RatingsChart.tsx

    另外,我很抱歉,如果这是没有明确的措辞。我不确定这些是从哪里来的,我也不太熟悉这个项目中使用的语言或固件。谢谢你的耐心(和编辑(如果需要:))

    1 回复  |  直到 6 年前
        1
  •  3
  •   Jamiec    6 年前

    在javascript语句中,您可以使用 你喜欢什么样的大括号:

    function test(){{{
       console.log("Im in lots of braces.");
    }}}
    
    test();

    行为没有任何改变。react中也没有什么特别的东西对使用此代码有任何影响。

        2
  •  0
  •   person the human    5 年前

    很简单,这是因为如果在一个 object

    例如(他们比这更难阅读):

    function translate(num){
        var translations = {
             1: 'one',
             2: 'two',
             3: 'three',
             4: 'four',
             5: 'five',
             6: 'six'
        };
    
    
        return translations[num];
    };
    

    它只是使它更容易(特别是当有多个原型或对象时)。多括号使这更容易。你可以用},},},},},},},},},}。。。为了便于阅读,如下所示:

    function translate(num){{
        var translations = {
             1: 'one',
             2: 'two',
             3: 'three',
             4: 'four',
             5: 'five',
             6: 'six'
        };
     }};
    

    只能对函数执行,不能对对象执行。这也适用于括号;您可以使用“,”,“,”,“,”,“,”。。。还有之后的事! 多圆括号能够在不关闭的情况下将其他圆括号放入其中:

     var question = "' "how'd you do that?" said Tom "';
     // triple brackets
    

    在那个例子中,他们使用单括号作为撇号,双括号作为语音括号。

    快乐的编码!