Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript 객체에서 속성을 정의할 때 열거 가능한 속성의 중요성은 무엇입니까?

<시간/>

속성 을 정의할 수 있습니다. 을 사용하는 개체 및 대괄호 표기법. Object.defineProperty() 속성을 정의하는 데 사용됩니다. 일반적으로 개체 이름, 속성 이름, 속성 설명자의 3가지 매개변수를 사용합니다.

구문

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

이 방법으로 속성을 정의합시다.

예시

다음 예에서 처음에 개체에는 'one이라는 속성이 하나만 있습니다. '. 나중에 'two라는 다른 속성 '가 추가됩니다. 이제 모든 속성을 표시하려고 하면 출력에 표시된 것처럼 첫 번째 속성만 표시되고 추가된 속성은 표시되지 않습니다.

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

출력

{"one":1}

이것은 모두 "열거할 수 있는 " 속성. "열거 가능 " 속성은 개체의 속성을 정의하려면 true여야 합니다. 그러나 "열거 가능 "는 "거짓" 값을 취합니다. 선언하지 않았을 때. 따라서 값을 "true로 만들려면 " 우리는 "열거 가능으로 선언해야 합니다. " 및 "true" 할당 필요 .

다음 예에서 "열거 가능 "가 초기화되고 값이 true로 할당됩니다. , 모든 속성이 출력에 표시된 대로 표시되었습니다.

예시

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

출력

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