我正在嘗試不明智的變量聲明,并得出以下觀察結果。定義一個名為 的變量'let',如下所示:let let = 7;不出所料,會導致錯誤:SyntaxError: let is disallowed as a lexically bound name。嘗試對變量 name 執行相同的操作'const',如下所示:let const = 7;導致不同的錯誤: SyntaxError: Unexpected token 'const'。查看規范,第13.3.1.1 節靜態語義:早期錯誤不允許'let' 在這種類型的聲明中作為變量名(沒有提及'const')。這更像是一種好奇,但是幕后發生了什么,這只會被視為'let' 不允許的變量名,同時被'const' 解釋為令牌?(順便說一下,var let = 7JavaScript 在語法上似乎是正確的,同時var const = 7也會導致錯誤SyntaxError: Unexpected token 'const'。)
ES6 不允許變量名稱 - 為什么名稱“let”和“const”的行為不同?
牧羊人nacy
2023-08-05 19:27:13