let和const的區別
let和const只在聲明的塊極作用域內有效。
- let聲明的變量可以被修改,值和類型都可以修改
- const聲明的變量不可被修改,一旦聲明,必須進行初始化。
const a;//會報錯,因為a只聲明沒有賦值; const b = 123; b=456;//會報錯,因為const聲明的變量不能被修改
const person = []; person = ['黑人','白人'];//會報錯,因為[]和['黑人','白人']是不一樣的地址,地址發生了改變。 這種情況不會報錯,因為students指向的地址沒有變化,只是里面的數據發生了改變 const students = []; students[0] = '阿明'; students[1] = '阿利';
如果想讓定義的數組和對象中的數據或者屬性不被修改,可以用Object.freeza(obj)進行凍結,這樣給對象添加屬性就不起作用了