2017-07-26 58 views
2

大多数被禁止在JS变量名称的一部分的字符有特殊含义:为什么#字符在JavaScript中是特殊的?

  • &,*%^等都是运营商;
  • @用于声明装饰器;
  • branches(){} []是语言的重要组成部分;
  • _和$没有特殊含义可以很容易地用作变量名称。

#char怎么样?它为什么特别?

+1

它还没有使用过*,就像'@'一样。 – Bergi

回答

2

#没什么特别的。它只是许多字符中没有有效的Unicode的其中一个标识符开始标识符继续。一个更好的问题可能是什么使$_特殊,使他们成为valid identifier parts

什么可能使它特别的是,它是为数不多的可打印的ASCII字符是作为标识符名称无效之一,但也是不被用作标点符号其他地方的EcmaScript 1.有

1

我的猜测是,语言通常不允许变量名中的英镑#字符,并且JavaScript也效仿。

此外,由于它是在不少 languages中开始评论的角色,因此可以将其视为无意义且可能令人困惑的添加。