淺談let和const的區別


let和const的區別

let和const只在聲明的塊極作用域內有效。

  1. let聲明的變量可以被修改,值和類型都可以修改
  2. const聲明的變量不可被修改,一旦聲明,必須進行初始化。
    const a;//會報錯,因為a只聲明沒有賦值;
    
    
    
    const b = 123;
    b=456;//會報錯,因為const聲明的變量不能被修改
    

      

    如果聲明的是復合類型的變量:數組或者對象,那么const指向變量所在的地址,const會保證const聲明的變量的地址不變,但是不會保證地址內的數據不改變
    const person = [];
    person = ['黑人','白人'];//會報錯,因為[]和['黑人','白人']是不一樣的地址,地址發生了改變。
    
    
    這種情況不會報錯,因為students指向的地址沒有變化,只是里面的數據發生了改變
    const  students = [];
    students[0] = '阿明';
    students[1] = '阿利';

    如果想讓定義的數組和對象中的數據或者屬性不被修改,可以用Object.freeza(obj)進行凍結,這樣給對象添加屬性就不起作用了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM