JavaScript 변조 방지 객체의 사용 예
2994 단어 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 변조 방지 대상에 대한 더 많은 자료는 저희의 다른 관련 글을 주목해 주십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.