都能跟得上 - 這是JavaScript的是如何工作的,它是非常有用的。誰說是檢查len
是需要修復的東西?試想一下:
if(mystring.len === undefined) {
mystring.len = "Test";
}
你能做的最好是簡單地檢查東西被定義使用前:
if(mystring.len !== undefined) {
}
我很欣賞的陌生感,以及它如何不感到強大的(最初來自C#背景),但不幸的是你不能做很多事情。 JavaScript區分大小寫的事實使這更令人沮喪。儘管如此,你將學會如何生活!
如果你真的想要運行一些靜態分析,那麼你可以考慮創建一個運行這種分析的轉譯器(例如Babel)的擴展 - 但是如果你預料到某些東西是undefined
,是常見的地方。
編輯
下面是我會使用其中undefined
是非常有用的一個真實的例子。我正在與一個需要將東西從一個地方移動到另一個地方的圖書館合作。它不能做到這一點,除非已經指定了原來的位置,所以我可能會寫一些像下面,初始化值,如果我沒有他們出於某種原因:
function update(node) {
if(node.x === undefined) { node.x = 0; }
node.y = node.y || 0; // This is the shorthand way I'd actually write it
// Do some other stuff
};
來源
2016-03-07 16:07:35
Ian
沒有,沒有,因爲沒有什麼錯碼是儘可能的JavaScript關注。 – Pointy
FWIW,Visual Studio中的ReSharper會嘗試[標記這類事物](http://imgur.com/1Q90GQg),同時爲您提供預期屬性的智能感知 –
考慮使用typescript而不是javascript,那東西會告訴您關於編譯前的一些拼寫錯誤 –