Đối tượng bất biến JavaScript là gì?
Mutable là loại biến có thể thay đổi. Trong JavaScript, chỉ các đối tượng và mảng có thể thay đổi, không phải giá trị nguyên thủy Show Một đối tượng có thể thay đổi là một đối tượng có thể thay đổi trạng thái sau khi nó được tạo Immutables là những đối tượng mà trạng thái của nó không thể thay đổi sau khi đối tượng được tạo Hãy phá vỡ nóCó hai loại dữ liệu trong JavaScript — Loại nguyên thủy (loại giá trị) và Loại không nguyên thủy (loại tham chiếu) Nhìn vào ví dụ trên, tôi đã tạo một tên biến và gán cho nó một giá trị 0 và không có bất kỳ tham chiếu nào đến nóSử dụng bộ nhớ theo loại tham chiếuCác giá trị tham chiếu là các đối tượng được lưu trữ trong bộ nhớ và tham chiếu đến các đối tượng thay vì các vị trí dành riêng trong bộ nhớ, không giống như các kiểu nguyên thủy. Hãy xem ví dụ sau để hiểu rõ hơn về cách các loại tham chiếu được lưu trong bộ nhớ bởi JavaScript
Chúng ta hãy khai báo một biến gọi là person sẽ chứa một đối tượng chứa 0 và tuổi của đối tượng person. Bây giờ tôi sẽ tiếp tục và tạo một biến khác có tên là 2 và gán cho nó cùng một đối tượng 3. Đây là nơi mọi thứ bắt đầu trở nên khác biệt so với các kiểu nguyên thủy. Trong trường hợp này, JavaScript sẽ lưu đối tượng 2 đơn giản như một tham chiếu đến đối tượng 3Nếu bạn nhìn vào hình ảnh này, bạn sẽ nhận ra rằng JavaScript ở đây thực sự đang trỏ đến cùng một đối tượng trong bộ nhớ. Mặc dù nó đã tạo một biến mới, dưới dạng một giá trị, nhưng biến đó chỉ đề cập đến cùng một đối tượng 3 mà chúng ta đã tạo trước đóHiểu tính bất biến và khả năng thay đổi của các loại nguyên thủy và tham chiếu trong JavaScriptVì bây giờ chúng ta đã hiểu rõ về các kiểu nguyên thủy và kiểu tham chiếu trong JavaScript, nên chúng ta có thể dễ dàng hiểu khái niệm về tính có thể thay đổi và tính không thay đổi trong JavaScript. Mutable có thể được thay đổi hoặc thêm vào trong đó immutable có nghĩa là thứ không thể thay đổi hoặc thêm vào. Các giá trị nguyên thủy trong JavaScript không thể có bất kỳ thứ gì được thêm vào chúng, chúng chỉ có thể được gán lại và do đó tất cả các giá trị nguyên thủy trong JavaScript là bất biến. Hãy xem điều này với một ví dụ
Mở rộng ví dụ trước của chúng ta về các kiểu nguyên thủy, hãy in các giá trị của cả hai biến của chúng ta, i. e. 0 và name2 vào bảng điều khiển và xem những gì chúng tôi nhận được. Như mong đợi, cả hai biến đều trả về giá trị john . Bây giờ, hãy gán lại name2 thành 1 và sau đó in lại giá trị của cả hai biến vào bảng điều khiển. Bây giờ bạn thấy rằng giá trị của chỉ name2 đã được JavaScript gán lại cho 1, nhưng biến 0 không thay đổi. Điều này cho thấy JavaScript xử lý 2 biến này một cách riêng biệt, mặc dù ban đầu name2 được sao chép từ biến 0. Điều này chứng tỏ rằng các giá trị nguyên thủy trong JavaScript, trong trường hợp này là chuỗi, là bất biếnHãy thử tái tạo ví dụ tương tự cho các loại tham chiếu. Tiếp tục từ ví dụ trước của chúng tôi, hãy in các giá trị của cả hai đối tượng 3 và 2 vào bảng điều khiển và xem những gì chúng tôi nhận được
Chúng tôi thấy hai đối tượng được in trên bàn điều khiển có cùng thuộc tính. Bây giờ tôi sẽ thay đổi một trong các thuộc tính của đối tượng 2 và in lại chúng ra bàn điều khiển
Bạn thấy rằng JavaScript đã thay đổi con người cũng như 2. Điều này là do đối tượng 2 được tạo bằng cách tham chiếu đối tượng 3. Với các loại tham chiếu, JavaScript tạo một tham chiếu đến cùng một đối tượng và đối tượng vẫn có thể thay đổi. Vì đối tượng có thể thay đổi nên nó có thể được thay đổi hoặc có thể thêm thuộc tính mớiToán tử lây lan
Hãy lấy cùng một đối tượng 3 và thay vì gán nó trực tiếp cho một biến lần này, hãy sử dụng toán tử trải rộng để sao chép nó. Toán tử trải rộng có thể được sử dụng bằng cách đặt trước ba dấu chấm 4 trước đối tượng mà bạn muốn sao chép và đóng gói nó bằng cú pháp đối tượng bằng chữ. Bằng cách này, JavaScript tạo một đối tượng mới và lưu trữ nó trong biến 2. Hãy thử thay đổi một trong các thuộc tính của 2. Tôi sẽ đổi tên thành 1. Bây giờ, hãy in cả hai đối tượng ra bàn điều khiển và xem những gì chúng ta nhận được. Bạn thấy đấy, lần này, chúng ta chỉ thay đổi thuộc tính name của đối tượng 2 chứ không phải đối tượng 3. Điều này là do 2 đã được tạo và lưu dưới dạng đối tượng mới bằng cách sử dụng toán tử trải rộng và không phải là tham chiếu đến đối tượng 3Nhận quyền truy cập vào nhiều câu chuyện như vậy trên Cloudaffle Nút JavaScript. phản ứng js Bài báo cáo Thưởng thức bài viết này? 15 Chia sẻ Manik Bajaj Làm theo Khám phá và đọc thêm các bài viết từ Manik Bajaj bắt đầu Thưởng thức bài viết này? Để lại một lượt thích và bình luận cho Manik 15 Hãy là người đầu tiên chia sẻ ý kiến của bạnHỗ trợ đánh dấu hương vị GitHub Gửi đi SHAHZEB CHÂU PHI một tháng trước lời giải rất hay và chi tiết Hồi đáp araratkoj 2 năm trước bạn có muốn được công nhận trên đường phố là một người có số lượng người đăng ký lớn không? . // hoa anh túc. com/ và kiếm cho mình nhiều người đăng ký hơn Đối tượng nào là bất biến?Trong lập trình hướng đối tượng và lập trình hàm, một đối tượng bất biến (đối tượng không thể thay đổi) là một đối tượng mà trạng thái của nó không thể thay đổi được sau khi nó được tạo ra . Điều này trái ngược với một đối tượng có thể thay đổi (changeable object), có thể được sửa đổi sau khi nó được tạo ra.
Làm cách nào để tạo đối tượng JavaScript bất biến?Trong JavaScript, chỉ các đối tượng và mảng có thể thay đổi, không phải giá trị nguyên thủy. Một đối tượng có thể thay đổi là một đối tượng có thể thay đổi trạng thái sau khi nó được tạo. Immutables là những đối tượng mà trạng thái của nó không thể thay đổi sau khi đối tượng được tạo
Bất biến và có thể thay đổi trong JavaScript là gì?Mutable có thể được thay đổi hoặc thêm vào trong khi immutable có nghĩa là thứ không thể thay đổi hoặc thêm vào . Các giá trị nguyên thủy trong JavaScript không thể có bất kỳ thứ gì được thêm vào chúng, chúng chỉ có thể được gán lại và do đó tất cả các giá trị nguyên thủy trong JavaScript là bất biến.
Một ví dụ về bất biến là gì?Nếu bạn không thể thay đổi nó, nó là bất biến. Có nhiều thứ trong cuộc sống là bất biến; . death, taxes, and the laws of physics. |