【发布时间】:2019-09-13 18:51:02
【问题描述】:
在查看 svelte 库时,我在 JS 中遇到了以下有效语法:
$: doubled = 6 * 2;
起初,我认为它是特定于库的,但它适用于 Chrome 控制台。这是什么语法?
可以是任何东西:
name: something = 6 * 2;
【问题讨论】:
-
只是变量/属性名。
doubled可能是 typescript 接口或类 -
$是任何 JavaScript 标识符中的有效字符。在没有看到该代码的更多上下文的情况下,它在我看来就像一个带标签的语句。 -
它可以在 Chrome 控制台中使用,因为它是一个有效的labeled statement。从their github 看来他们正在使用打字稿。所以,这不太可能是标签声明
-
它实际上可以在 Vanilla JS 中使用!这太荒谬了,我完全期望它会抛出语法错误。
-
@Pointy 所有 javascript 都是有效的打字稿**(适用条件:
var a = ""; a = 1;将引发错误)。但是,毕竟github.com/sveltejs/svelte/blob/… 看起来确实像带标签的声明
标签: javascript syntax svelte