我想知道在提交到babel-node
的兩行JavaScript代碼之間保留了什麼狀態。因爲如果你編寫了兩行代碼,你就可以覆蓋變量定義而不會出錯。例如,對於babel-node --presets es2015
,你可以這樣做:JavaScript行之間保持着什麼狀態?
> const a = 1;
undefined
> let a = 2;
undefined
現在,如果你把它寫在一行,你會得到一個錯誤:
> const a = 1; let a = 2;
TypeError: repl: Duplicate declaration "a"
...
看來,在第一種情況下,該狀態a
被定義爲1
(const
變量賦值)丟失(直到第二次賦值),而在第二種情況下,它被保留。
這是什麼原因引起的差異?並維護哪些國家?
現在,'babel-node'成爲特定的罪魁禍首 - 香草'節點'repl沒有出現這個問題。 – naomik