JS không có class truyền thống, dùng object và constructor. Object.freeze() đóng băng object.
Tác dụng:
- Không cho thêm property/method mới.
- Không cho sửa/xóa property hiện có.
- Giữ nguyên enumerability, configurability, writability, prototype.
- Không tạo bản sao frozen, object gốc bị ảnh hưởng.
Ứng dụng
- Đóng băng object và array.
- Làm object bất biến (immutable).
Cú pháp
Object.freeze(obj)
Ví dụ
<html> <body> <script> var myObj1 = { prop1: 'freezed values can not be changed' }; var myObj2 = Object.freeze(myObj1); myObj2.prop1 = 'change the freezed value'; // thất bại im lặng (strict mode sẽ throw error) document.write(myObj2.prop1); </script> </body> </html>
Kết quả
freezed values can not be changed