回覆列表
  • 1 # 兩袖青蛇_

    我猜提問題的應該不是程式設計師,不然應該不會問這種內容。

    第一,這不是一個錯誤,是當時創造時不需要,算是侷限性。

  • 2 # 欣仔啊其實

    var 只能說不嚴格,只要你開發的時候注意一些細節,不用let和const也夠了只是隨著應用場景需求的增多和規模的變大,只用var或多或少會造成一些問題,當然如果你夠細心,完全可以不出現,但是針對與整個生態,let和const作為約束,可以避免一些開發過程中的錯誤。同理,ts或者java中的protected和private也是一種約束。

  • 3 # 科技自由芯

    let 是塊級作用域,const 用來宣告常量,對於很多人使用的功能,不會輕易修改,刪除,就比如說現在都5g了,3g,2g是不是可以放棄了? 在做變更的時候需要考慮整體的使用者,不能一刀切。要是一弄,估計世界都沸騰了,let,const 的出現也是提議新編準才推行的,但還是需要babel來支援

  • 4 # 語出驚人科代表

    這個失誤其實也不算失誤只是當初沒考慮得那麼周全。前端日新月異,每次變更都向著人們理想的方向發展,我們只是有一顆向好的心,真不是 var 的錯。

    const 和 let 可以讓程式設計師們寫程式碼的時候更加清晰明確。並且同時也解決了一些 var 現存的問題。比如:變數不可重複定義,明確表示變數是常量還是非常量等等。這些都是有益於開發的。

    即使var已經出現了那麼多年,肯定不可能直接刪掉,不然後果不堪設想。凡事都有一個過渡期或長或短,我們要做的只需靜靜地等待就好。

  • 5 # 鐵柱哥哥Even

    程式設計是不斷進化的,不可能一成不變,這就是新舊交替的過程。

    var有一定歷史包袱

    let const 更現代化,更多程式語言的支援

  • 6 # 鮮事狗gogogo

    問出這個問題說明你不懂開發程式設計。

    磨骨增高是錯誤的,你把填充拿走行嗎,拿走不就成殘廢了嘛。

    程式語言迭代要向前相容,否則以前的程式怎麼執行

  • 7 # ShuangLiu07

    為什麼是失誤?宣告而已,很多指令碼類的語言都是這種動態可擴充套件宣告,不同的場景下使用方法不同而已,在很大程度上var讓JS擁有很多的便利之處,只是隨著時代發展在大型專案裡缺陷才慢慢體現,所以標準才引入更加規範的let/const,用於不同的宣告需求,不能說哪個是失誤/錯誤,只是不同的需要而已

  • 8 # 30Shekels

    在 restrict 模式,var 的使用的確已經受限,考慮到相容問題,這已經做到最理想了。 ECMA是行業標準,各個瀏覽器有自己的自由度去實現。哪個瀏覽器會導致以前的指令碼完全崩潰,不會被罵死嗎?

  • 中秋節和大豐收的關聯?
  • 直播救了眾多小零售商了嗎?