JS - const array vẫn có thể push thêm dữ liệu



  • JS - const array vẫn có thể push thêm dữ liệu

    Day 31:

    Xưa nay vẫn hiểu const trong JavaScript là khai báo hằng số, bât biến, không thể thay đổi chỉnh sửa. Nên khi khai báo mảng bằng letpush thêm dữ liệu cho nó, bị ESlint băt lỗi, hỏi tại sao mày không dùng const, còn Prettifier tự động biến let thành const:

    let arr = [];
    arr.push[2, 3];
    // ESLint nhắc nhở đoạn trên ngay, yêu cầu đổi thành const arr = []
    

    Tra lại MDN thì đúng thế thật:

    Với array, một khi khai báo với const thì không gán bằng 1 array khác được, nhưng push phần tử mới thì ok:

    const arr = [2,3];
    arr = [4,5] // báo lỗi: Assignment to constant variable;
    arr.push(4,5);
    console.log(arr) // trả về [2,3,4,5]
    

    Với object, cũng gần như tương tự, gán bằng object khác thì không được, nhưng thay đổi giá trị của thuộc tính thì ok.

    const obj = {key: 10};
    obj = {key: 5} // báo lỗi: Assignment to constant variable
    obj.key = 5 // ok, obj sẽ là {key: 5}
    

    ngminhtrung 14-03-2018

    Nguồn: Kipalog


Hãy đăng nhập để trả lời
 

Có vẻ như bạn đã mất kết nối tới LaptrinhX, vui lòng đợi một lúc để chúng tôi thử kết nối lại.