2017-04-04 74 views
6

在學習JavaScript的過程中,我瞭解到Letconst是爲了解決Var關於全局範圍和提升的問題,並且在重新聲明時不會給出錯誤。有沒有理由不放棄「var」?

現在我可以在不使用var的情況下完全編寫代碼嗎?或者我現在應該知道他們,等到他們變得廣泛「可以接受」?

換句話說,如果我只使用letconst,那麼暫時我應該擔心兼容性問題?

+2

'var'仍然有它的目的:http://stackoverflow.com/questions/762011/whats-the-difference-between-using-let-and-var-to-declare-a-variable。 –

+1

您應該擔心與[let](http://caniuse.com/#search=let)和[const](http://caniuse.com/#search=const)的兼容性問題,因爲兩者似乎都不在IE10及其以下版本和其他各種瀏覽器中支持。 – George

+3

@喬治transpilers存在你知道。兼容性幾乎總是一個紅鯡魚。 –

回答

3

要直接回答問題 - 不,您不能,因爲兼容性問題,因爲@suraj提醒我們。

話雖如此,在現代JS開發你是越來越不可能使用varletconstvar一些具體用途有明顯的優勢,除了和將使用兩種BabelJS打字稿甚至現在Webpack 2將代碼向後兼容,因爲生產代碼將在vanilla JS中發貨。像WebStorm這樣的現代IDE默認在ES6模式下將你的var更改爲let

從這個問題來看,你還在研究JS,你已經提出了正確的問題,所以我建議今天使用letconst來利用ES6的優點,但這會增加複雜性與轉運人打交道。但如果你對此感到滿意 - 這就是要走的路。

+0

轉譯器的想法聽起來有趣的嘗試! –