Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 객체가 봉인(sealed)되었는지 확인하는 방법

JavaScript에서 객체가 봉인(sealed)되었는지 여부를 확인하려면 Object.isSealed() 메서드를 사용합니다. 이 메서드는 객체의 봉인 상태에 따라 불리언(boolean) 값을 반환합니다.

객체가 봉인되었다고 판단되는 조건은 다음과 같습니다.

1) 객체가 확장 가능(extensible)하지 않아야 합니다.

2) 객체의 모든 속성이 구성 불가능(non-configurable)해야 합니다.

문법

Object.isSealed(obj)

매개변수Object.isSealed()는 객체를 인자로 받으며, 해당 객체가 봉인되었는지 여부에 따라 true 또는 false를 반환합니다.

예제 1

다음 예제에서는 객체가 봉인되어 있지 않기 때문에 결과로 false가 출력됩니다. 객체를 봉인하려면 별도로 Object.seal() 메서드를 사용해야 합니다.

<html>
<body>
<script>
    var obj = {
       prop1: 2
    }
    var res = Object.isSealed(obj);
    document.write(res);
</script>
</body>
</html>

출력

false

예제 2

다음 예제에서는 Object.seal() 메서드를 사용하여 'obj' 객체를 봉인했습니다. 따라서 이후 Object.isSealed()를 호출하면 결과로 true가 출력됩니다.

<html>
<body>
<script>
    var obj = {
       prop1: 2
    }
    Object.seal(obj);
    var res = Object.isSealed(obj);
    document.write(res);
</script>
</body>
</html>

출력

true

참고: 봉인된 객체에서도 기존 속성의 값 변경은 가능합니다. 다만 새로운 속성을 추가하거나 기존 속성을 삭제하는 것은 허용되지 않습니다. 속성 값 변경까지 완전히 차단하고 싶다면 Object.freeze() 메서드를 사용하는 것이 좋습니다.