Computer >> Máy Tính >  >> Lập trình >> Javascript

Tầm quan trọng của thuộc tính enumerable trong việc xác định thuộc tính trong đối tượng JavaScript là gì?

Chúng tôi có thể xác định một thuộc tính của một đối tượng bằng cách sử dụng Dấu chấm Dấu ngoặc nhọn ký hiệu. Ngoài ra còn có một cách khác trong đó thuộc tính được gọi là Object.defineProperty () được sử dụng để xác định một thuộc tính. Nó thường nhận 3 tham số là tên đối tượng, tên thuộc tính, bộ mô tả thuộc tính.

cú pháp

Object.defineProperty(object name, property name, property descriptor)

Hãy 'xác định một thuộc tính bằng phương thức này.

Ví dụ

Trong ví dụ sau, ban đầu, đối tượng chỉ có một thuộc tính có tên là ' one '. Sau đó, một thuộc tính khác có tên ' hai 'được thêm vào. Bây giờ khi chúng tôi cố gắng hiển thị tất cả các thuộc tính, chỉ có thuộc tính đầu tiên được hiển thị chứ không phải thuộc tính được thêm vào như được hiển thị trong đầu ra.

<html>
<body>
<script>
   var object = {one: 1};
   Object.defineProperty(
      object,
      'two', {
         value: 2
       }
   );
   document.write(JSON.stringify(object));
</script>
</body>
</html>

Đầu ra

{"one":1}

Tất cả là do " có thể liệt kê "thuộc tính". có thể liệt kê "thuộc tính phải đúng để xác định thuộc tính trong một đối tượng. Nhưng," có thể liệt kê "chiếm một giá trị" false " khi không khai báo. Vì vậy, để tạo giá trị là " true "chúng tôi phải khai báo" có thể liệt kê "và cần chỉ định" true " với nó .

Trong ví dụ sau khi " có thể liệt kê "được khởi tạo và gán giá trị là true , tất cả các thuộc tính đã được hiển thị như được hiển thị trong đầu ra.

Ví dụ

<html>
<body>
<script>
   var object = {one: 1};
  Object.defineProperty(
   object,
   'two', {
      value: 2,
      enumerable: true
   }
);
document.write(JSON.stringify(object));
</script>
</body>
</html>

Đầu ra

{"one":1,"two":2}