SyntaxError: Unexpected '#' used outside of class body
JavaScript 異常 "Unexpected '#' used outside of class body" 發生在雜湊符("#")出現在意外上下文中時,最顯著的是類宣告之外。雜湊符在檔案開頭作為雜湊bang註釋是有效的,或者在類內部作為私有欄位的一部分是有效的。如果你在嘗試訪問 DOM 識別符號時忘記了引號,也可能會遇到此錯誤。
訊息
SyntaxError: Unexpected '#' used outside of class body.
錯誤型別
SyntaxError
哪裡出錯了?
我們在某個意外的地方遇到了 #。這可能是由於程式碼被移動而不再是類的一部分,或者雜湊bang註釋出現在檔案第一行以外的行上,或者不小心忘記了 DOM 識別符號周圍的引號。
示例
缺少引號
對於每種情況,可能都存在一些小問題。例如:
js
document.querySelector(#some-element)
可以透過以下方式修復:
js
document.querySelector("#some-element");
在類之外
js
class ClassWithPrivateField {
#privateField;
constructor() {}
}
this.#privateField = 42;
這可以透過將私有欄位移回類中來修復
js
class ClassWithPrivateField {
#privateField;
constructor() {
this.#privateField = 42;
}
}