Reflect.preventExtensions()
Reflect.preventExtensions() 정적 메서드는 새로운 속성을 객체에 추가하지 못하도록 완전히 막습니다. 즉, 미래의 객체 확장을 막습니다. Object.preventExtensions()와 유사하지만 차이점도 있습니다.
시도해보기
구문
js
Reflect.preventExtensions(target)
매개변수
target-
확장을 방지할 대상 객체.
반환 값
대상의 확장을 성공적으로 방지했는지 나타내는 Boolean.
예외
설명
Reflect.preventExtensions() 메서드는 새로운 속성을 객체에 추가하지 못하도록 완전히 막습니다. 즉, 미래의 객체 확장을 막습니다. Object.preventExtensions()와 유사합니다.
예제
Reflect.preventExtensions() 사용하기
Object.preventExtensions()도 참고하세요.
js
// 객체는 기본적으로 확장 가능
var empty = {};
Reflect.isExtensible(empty); // === true
// ...하지만 바꿀 수 있음
Reflect.preventExtensions(empty);
Reflect.isExtensible(empty); // === false
Object.preventExtensions()와의 차이점
Reflect.preventExtensions()는 첫 번째 매개변수가 원시값이면 TypeError를 던집니다. 반면 Object.preventExtensions()는 우선 객체로 변환을 시도합니다.
js
Reflect.preventExtensions(1);
// TypeError: 1 is not an object
Object.preventExtensions(1);
// 1
명세
| Specification |
|---|
| ECMAScript Language Specification # sec-reflect.preventextensions |
브라우저 호환성
BCD tables only load in the browser