Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript/Typescript中,三方括号(即{{{{stuff}}}})是什么意思?_Javascript_Reactjs_Typescript - Fatal编程技术网

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

在Javascript/Typescript中,三方括号(即{{{{stuff}}}})是什么意思?,javascript,reactjs,typescript,Javascript,Reactjs,Typescript,我正在浏览一个我想参与的新项目的代码,作者使用三方括号定义了很多方法,如下所示: deinitialize() {{{ this.destroyed = true; $(window).off("resize", this.resize as () => void); if (this.resize_debounce) { clearTimeout(this.resize_debounce); this.resize_debounce

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

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;
}}}
我从来没有见过三方括号(支架?胡子?)以这种方式使用。我使用它们的唯一经验是使用聚合物之类的东西进行数据绑定。这是怎么回事

这个项目是用typescript编写的(我也没有这方面的经验),这个特定的位在一个.tsx文件中。它还使用React,这可能是不相关的。这个功能是来自其中的一个,还是我从未见过的原生JS

源代码如下:


此外,如果措辞不清楚,我表示歉意。我不确定这些是从哪里来的,我也不太熟悉这个项目中使用的语言或FWs。谢谢你的耐心!(和编辑,如果需要:)

在javascript语句中,您可以使用任意多对匹配的大括号:

功能测试(){{{
log(“我有很多括号。”);
}}}

test()简单地说,这是因为如果函数中有另一对括号,则很难读取

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

它只是使它更容易(特别是当有多个原型或对象时。多括号使它更容易。您可以使用},},},},},},},},},},},},},},…,使它更容易阅读,如下所示:

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
在那个例子中,它们允许单括号作为撇号,双括号作为语音括号


愉快的编码!

AFAICT,它完全不起任何作用。你可以使用任意多对大括号。没什么,只是额外的大括号。在浏览器控制台窗口中试试这个:
function foo(){{{{{console.log(1);}}}}};foo()
。这只是额外的大括号。只要大括号匹配,如果你真的想要,你可以使用20个大括号。这不会影响任何事情。但这肯定是不寻常的。这是不寻常的,唯一知道为什么是作者的人。也许这是他们用于内置react组件的约定methods@Jamiec
AFAICT,它什么也不做
它可能会生成更多的块级作用域,因此可能会浪费CPU资源:)我还注意到,没有一个函数/方法是用“function”或类似于
class.prototype.method=blah(){{{}}的东西声明的
。这是一般的typescript还是其他非标准的东西?据我所知,一切都遵循ES6标准或typescript等效标准。@ckersch这只是因为它们是类函数,不使用关键字
函数
几个额外的纳秒
,有趣的是,在C中进行快速性能测试hrome,。正在执行额外的
{{
大约慢了3倍,但奇怪的是,做了10次之后,速度并没有变慢。事实上,10次似乎比2次快了一点。但当然,获胜者是1次。事实上,放弃这一点,更奇怪的是:)改变顺序,任何先到的都是最快的。因此,这看起来像是Chrome TurboFan在放慢速度,。
 var question = "' "how'd you do that?" said Tom "';
 // triple brackets