Chúng ta có thể thay đổi mảng const trong JavaScript không?

Sử dụng ký hiệu dấu chấm hoặc dấu ngoặc để cập nhật các giá trị của một đối tượng đã được khai báo bằng từ khóa const, e. g. obj.name = 'New Value'

Các cặp khóa-giá trị của một đối tượng được khai báo bằng cách sử dụng const có thể được cập nhật trực tiếp nhưng không thể gán lại biến

Khi một biến được khai báo bằng từ khóa const, biến đó không thể được gán lại, tuy nhiên, nếu biến là một đối tượng hoặc mảng, các giá trị của nó có thể được cập nhật trực tiếp

Nếu bạn đang muốn tạo một đối tượng có giá trị không thể cập nhật, bạn phải sử dụng phương thức Object. phương pháp đóng băng

Vì chúng ta đã sử dụng từ khóa const để khai báo đối tượng nên không thể gán lại biến

Phương thức Object.freeze đóng băng đối tượng

  • ngăn các cặp khóa-giá trị bị thay đổi
  • tài sản mới được thêm vào
  • tài sản hiện có sẽ bị xóa

Sự kết hợp của việc sử dụng từ khóa const và phương thức Object.freeze, làm cho đối tượng trở nên bất biến

Cập nhật một Const Array trong JavaScript

Sử dụng ký hiệu ngoặc để cập nhật các giá trị của một mảng đã được khai báo bằng từ khóa const, e. g.


const numbers = [1,2,3];
numbers.push[4];
console.log[numbers] // Outpusts [1,2,3,4];

3

Các phần tử của một mảng được khai báo bằng cách sử dụng const có thể được cập nhật trực tiếp nhưng không thể gán lại biến

Khi một biến được khai báo bằng từ khóa const, biến không thể được gán lại, tuy nhiên, nếu biến là một mảng hoặc một đối tượng, các giá trị của nó có thể được cập nhật trực tiếp

Nếu bạn cần tạo một mảng có giá trị không thể thay đổi, bạn có thể sử dụng phương thức Object. phương pháp đóng băng

Phương thức obj.name = 'New Value'0 được sử dụng để đóng băng một mảng hoặc một đối tượng

Sau khi một mảng bị đóng băng

  • các yếu tố của nó không thể thay đổi
  • không thể thêm phần tử mới vào mảng
  • các phần tử hiện có không thể bị xóa khỏi mảng

Sự kết hợp của việc sử dụng từ khóa const và phương thức Object.freeze, làm cho mảng trở nên bất biến

Khai báo một biến bằng từ khóa const có nghĩa là biến đó không thể được gán lại, nó không làm cho giá trị được lưu trữ trong biến trở thành bất biến

Khi làm việc với các số, chuỗi và booleans với const, chúng ta đã biết qua bài đăng trên blog trước đây của chúng tôi var-vs-const-vs-let rằng bạn không thể gán lại một biến const. Điều tương tự cũng xảy ra với bất kỳ biến const nào, ngay cả đối tượng hoặc mảng. Nhưng không giống như các biến đơn giản, các đối tượng và mảng có các phương thức và thuộc tính cho phép bạn sửa đổi đối tượng hoặc mảng đó.

Mảng Const


const numbers = [1,2,3];

Đoạn mã trên có một biến mảng được gọi là các số chứa ba giá trị. Mặc dù mảng số là hằng số nhưng bạn vẫn có thể cập nhật hoặc thay đổi biến. Ví dụ: bạn có thể thêm một số khác vào mảng số bằng cách sử dụng phương thức đẩy. Phương thức là hành động bạn thực hiện trên mảng hoặc đối tượng


const numbers = [1,2,3];
numbers.push[4];
console.log[numbers] // Outpusts [1,2,3,4];

Với các phương thức, chúng ta có thể sửa đổi mảng của mình bằng cách thêm một giá trị khác vào cuối mảng bằng cách sử dụng phương thức đẩy. Một cách khác bạn có thể sửa đổi mảng là loại bỏ một mục ở cuối bằng cách sử dụng phương thức pop. Có nhiều phương pháp để trình bày chi tiết trong một bài đăng trên blog nhưng nếu bạn truy cập Mạng nhà phát triển Mozilla, bạn sẽ tìm thấy mọi thứ bạn cần biết về mảng và mọi thứ liên quan đến Javascript

đối tượng const

Nguyên tắc sửa đổi áp dụng cho một đối tượng chẳng hạn


const user = {
  name: "Gary",
}

user.age = 29
console.log[user] // {name: "Gary", age: 29


Đoạn mã trên tạo một đối tượng người dùng với thuộc tính name sau đó gán thuộc tính age mới cho đối tượng. Một điều cần nhớ const không ngăn mảng và các đối tượng khỏi bị sửa đổi, nó chỉ ngăn chính biến đó khỏi bị gán lại hoặc bị ghi đè chẳng hạn


const user = {
  name: "Gary",
}

person = { name: "Bob" } // Uncaught TypeError: Assignment to constant variable.

Nếu chúng ta cố gắng ghi đè đối tượng người dùng bằng một đối tượng khác, bảng điều khiển sẽ báo lỗi. Đó là bởi vì chúng tôi đang cố gắng gán lại người dùng cho một đối tượng mới theo nghĩa đen. Tuy nhiên, nếu bạn trực tiếp sửa đổi thuộc tính name bằng cách gán cho nó một giá trị mới, bạn sẽ không gặp lỗi


const user = {
  name: "Gary",
  age: 29,
}

person.name = "Bob";
person.location = "Belfast";
console.log[user] // {name: "Bob", age: 29, location: "Belfast"}

Tóm lược

Tóm lại, bạn không thể gán lại bất kỳ biến nào được khai báo với const. Tuy nhiên, không giống như các biến đơn giản như số, chuỗi và booleans, đối tượng & mảng cung cấp các thuộc tính và phương thức bổ sung cho phép sửa đổi giá trị của chúng. Làm cho nó trở thành cách lý tưởng để khai báo dữ liệu có cấu trúc của bạn với lợi ích bổ sung là không thể chỉ định lại bởi các biến đi lạc. Cảm ơn bạn đã dành thời gian để đọc bài đăng của tôi, hãy theo dõi blog của chúng tôi để biết tất cả những thông tin mới nhất từ ​​Scaffold

Làm cách nào để thay đổi đối tượng const trong JavaScript?

Có thể thay đổi thuộc tính của đối tượng const nhưng không thể thay đổi thuộc tính này thành tham chiếu đến đối tượng mới . Các giá trị bên trong mảng const có thể được thay đổi, nó có thể thêm các mục mới vào mảng const nhưng nó không thể tham chiếu một mảng mới. Cho phép khai báo lại một biến const bên trong các phạm vi khối khác nhau.

Const có thay đổi được không?

Có, thuộc tính và phương thức được thay đổi cho đối tượng const . Khai báo const không có nghĩa là không thể thay đổi giá trị của biến. Nó chỉ có nghĩa là không thể gán lại định danh biến.

Chủ Đề