JavaScript 변조 방지 객체의 사용 예

javascript 변경 방지 대상


이 물건은 아주 적게 사용되고, 개인적으로는 쓸모가 크지 않지만, 압박의 도구로 쓸 수 있다. 하하, 시작해라.

1. 확장 불가능 객체


기본적으로 대상은 확장할 수 있습니다. 즉, 언제든지 대상에 속성과 방법을 추가할 수 있습니다.개체를 사용합니다.preventExtensions(object) 방법은 이 행동을 바꾸어 대상에 속성과 방법을 추가할 수 없습니다.예:

var person={name : 'jack'};
Object.preventExtensions(person);
person.age=13;
console.log(person.age);///undefine
대상에 새 구성원을 추가할 수는 없지만 기존 구성원은 전혀 영향을 받지 않으며, 기존 구성원을 수정하고 삭제할 수 있습니다.또한 isExtensible() 메서드를 사용하여 객체를 확장할 수 있는지 여부를 결정할 수 있습니다.예:

var person={name : 'jack'};
alert(Object.isExtensible(person));//true

Object.preventExtensions(person);
alert(Object.istExtensible(person));//false


2. 밀봉된 대상


ECMAScript 5에서 정의한 두 번째 보호 수준은 밀봉 객체입니다.Object를 사용합니다.seal (object) 방법은 대상을 밀봉 대상으로 바꿀 수 있습니다.밀봉 대상은 확장할 수 없으며, 기존 구성원의 [configurable]] 특성은false로 설정됩니다.이것은 Object를 사용할 수 없기 때문에 속성과 방법을 삭제할 수 없다는 것을 의미합니다.defineProperty () 는 데이터를 액세스 속성으로 수정하거나 반대로 수정합니다.하지만 속성 값은 수정할 수 있습니다.

var person = {name:'tom'};
Object.seal(person);
person.age=12;
console.log(person.age);//undefine

delete person.name;
console.log(person.name);//tom

person.name="jack";
alert(person.name);//jack

Object를 사용합니다.isSealed() 방법은 대상이 밀봉되었는지 확인할 수 있습니다. 밀봉된 대상도 확장할 수 없기 때문에 Object를 사용합니다.istExtensible () 검사 밀봉 대상도 false (확장 불가능) 로 돌아옵니다.

var person = {name:'tom'};
alert(Object.isExtensible(person));///true, 
alert(Object.isSealed(person));////false, 
               
Object.seal(person);
alert(Object.isExtensible(person));///false, 
alert(Object.isSealed(person));////true, 

3. 동결된 객체


가장 엄격한 변경 방지 단계는 동결 대상이다. 동결 대상은 확장할 수 없을 뿐만 아니라 밀봉할 수 있으며, 대상의 데이터 속성의 [[[Writable]] 특성은false로 설정되며, set 함수를 정의하면 방문자 속성은 여전히 쓸 수 있으며, 현재는 Object를 사용한다.freeze (object) 방법은 대상을 동결된 대상으로 바꿀 수 있습니다.

var person={name : 'tony'};
Object.freeze(person);
person.age=12;
alert(person.age);//undefine

delete person.name;
alert(person.name);//tony

person.name = 'jack';
alert(person.name);//tony
Object를 사용합니다.isFrozen() 메서드는 객체가 고정 객체인지 여부를 검사합니다. 고정 객체는 확장할 수 없는 객체이자 밀봉된 객체이므로 isExtensible()
및 Object.istExtensible() 체크 동결 객체는 false와 true로 각각 반환됩니다.

var person = {name:'tom'};
alert(Object.isExtensible(person));///true, 
alert(Object.isSealed(person));////false, 
alert(Object.isFrozen(person));////false, 
               
Object.seal(person);
alert(Object.isExtensible(person));///false, 
alert(Object.isSealed(person));////true, 
alert(Object.isFrozen(person));////true, 
다음은 JavaScript 변조 방지 대상의 용법 예시의 상세한 내용입니다. JavaScript 변조 방지 대상에 대한 더 많은 자료는 저희의 다른 관련 글을 주목해 주십시오!

좋은 웹페이지 즐겨찾기