[英]Socket.io using the name “in” makes Webstorm IDE raise error
我正在使用socket.io 8.7。 我使用Webstorm作為IDE來編寫我的網絡應用程序。
Webstorm在寫這篇文章時向我顯示錯誤:
io.sockets.in("some room id").emit(...)
Webstorm用紅色突出顯示in
,並說“名字預期”。 Webstorm中的結果將包含此代碼行的整個JavaScript文件顯示為損壞的代碼文件。
有誰知道如何告訴Webstorm忽略這個錯誤? 它非常煩人,因為它涵蓋了真正的錯誤消息。
任何建議表示贊賞。
向他們的跟蹤器發送錯誤報告
編輯 :不,這不是 socket.io 的錯誤 。 在JavaScript中使用保留字作為對象鍵沒有任何問題 - 保留字只保留為標識符 (變量/函數名),而不是其他任何地方。 這是WebStorm IDE的一個錯誤,可能是因為在其他語言中根本不允許使用保留字(實際上沒有理由這樣做)。
參考文獻:
保留字是不能用作標識符的IdentifierName
保留字實際上僅適用於標識符
它正在發生,因為“in”是JavaScript中的保留字。 這是一個運營商:
if ("someString" in someObject) {
// someObject has a property called "someString"
}
換句話說,這是一個“真正的錯誤”。 現在,如果你真的想要一個名為“in”的屬性/方法,你可以這樣做:
io.sockets['in']("some room id").emit(...)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.