2017-07-26 30 views
2

大多數被禁止在JS變量名稱的一部分的字符有特殊含義:爲什麼#字符在JavaScript中是特殊的?

  • &,*%^等都是運營商;
  • @用於聲明裝飾器;
  • branches(){} []是語言的重要組成部分;
  • _和$沒有特殊含義可以很容易地用作變量名稱。

#char怎麼樣?它爲什麼特別?

+1

它還沒有使用過*,就像'@'一樣。 – Bergi

回答

2

#沒什麼特別的。它只是許多字符中沒有有效的Unicode的其中一個標識符開始標識符繼續。一個更好的問題可能是什麼使$_特殊,使他們成爲valid identifier parts

什麼可能使它特別的是,它是爲數不多的可打印的ASCII字符是作爲標識符名稱無效之一,但也是不被用作標點符號其他地方的EcmaScript 1.有

1

我的猜測是,語言通常不允許變量名中的英鎊#字符,並且JavaScript也效仿。

此外,由於它是在不少 languages中開始評論的角色,因此可以將其視爲無意義且可能令人困惑的添加。