作用域(scope)解說:let, const, var有什麼差?【JavaScript基礎】

Sdílet
Vložit
  • čas přidán 6. 07. 2024
  • 0:00 開始
    0:24 var
    2:24 const與let
    3:30 setTimeout範例
    5:25 let, const, var的比較
    5:50 什麼時候該用哪個?
    影片中使用的Icons: www.flaticon.com
    插圖來源:www.irasutoya.com/
    B roll來源:envato elements

Komentáře • 12

  • @james-kool
    @james-kool  Před 4 dny

    副頻道:www.youtube.com/@james-clips
    ig:instagram.com/jameskool.official/
    Patreon會員專屬影片:www.patreon.com/user?u=99360097
    程式語言課程:jameskool.com/p/javascript-course-v2

  • @jerryliu862
    @jerryliu862 Před 3 dny +5

    我雖然知道原理,但你是我聽過最精準的講解

  • @asteroid-owo
    @asteroid-owo Před 3 dny +1

    看完之後都懂了
    很棒的影片

  • @Ruhgtfo
    @Ruhgtfo Před 2 dny

    原来如此

  • @user-sz5fq6ef6d
    @user-sz5fq6ef6d Před 3 dny +2

    想針對「const 修改」額外補充幾個極端作法
    1. Object
    const engineer = { name: "James", age: 30 };
    engineer.age = 18;
    console.log(engineer); // { name: "James", age: 18 }
    2. Array
    const numbers = [1, 2, 3];
    numbers.push(4);
    console.log(numbers); // [1, 2, 3, 4]
    但我自己是不建議這樣寫,只是面試有考過就記起來😗
    面試的朋朋加油,也感謝 James 用心講解 🙏🙏

    • @reahtuoo
      @reahtuoo Před 3 dny +2

      幫補充,在js裡面,Array就是Object哦~

    • @geniussquid
      @geniussquid Před 2 dny +1

      樓上的敘述不完全正確,js的array是繼承於object沒錯,但是兩者能使用的操作方法不同,for...in & for...of 用於兩者上也會導致不同的結果,建議初學者還是將array與object視為兩種不同的資料型別

  • @have-bear
    @have-bear Před 3 dny

    4:40
    對於 golang 並不是這麼回事
    儘管外側存取不到 for 後面的變數
    他的結果仍像 for (var i = ...)
    不過這在 1.22 時修掉了
    (see: go loopvar-preview)

  • @linyan2654
    @linyan2654 Před 3 dny

    所以使用let i = 0 在跑迴圈時,每次迭代的i 都是指向不同記憶體位址嗎

  • @Jimmy-jv7gf
    @Jimmy-jv7gf Před 3 dny

    恩預設選擇的意識是?

    • @user-dj3dt6rp2k
      @user-dj3dt6rp2k Před 3 dny +6

      就是只是代表第一優先思考 使用而已. 習慣宣告const 再說 . Let 要修改才用.

    • @Jimmy-jv7gf
      @Jimmy-jv7gf Před 2 dny

      @@user-dj3dt6rp2k 原來如此,因為想說如果const 會鎖住變數,那麼那麼他就不能選擇或是改變變數,然後再思考預設選擇