[JavaScript] Proxy 객체 정보[요약]
12063 단어 JavaScript
Proxy 객체란?
작업에서 객체 등록 정보를 지정할 때 독립적으로 처리하는 객체를 추가할 수 있습니다.
main.js
const target = {
hoge: 'hoge',
fuga: 'fuga'
}
const handler = {
メソッド
}
new Proxy(target, handler);
// target = 指定するオブジェクトが入る
// handler = 指定したオブジェクト(target)を操作する際に
// 実行されるメソッドが格納されたオブジェクト
사용 예1
속성 값이 변경되었을 때 "변경되었습니다."출력
main.js
const target = {
hoge: 'hoge',
fuga: 'fuga'
}
const handler = {
set(target, prop, value) {
target[prop] = value;
console.log('変更がありました。') ;
}
}
const pxy = new Proxy(target, handler);
pxy.hoge = 'ほげ';
console.log(pxy);
set 메서드
값 변경을 체크합니다.
첫 번째 인자: target 대상
보조 매개변수:속성 이름
세 번째 매개변수: 수정된 값
main.js
const target = {
hoge: 'hoge',
fuga: 'fuga'
}
const handler = {
set(target, prop, value) {
console.log(target);
console.log(prop);
console.log(value);
}
}
const pxy = new Proxy(target, handler);
pxy.hoge = 'ほげ';
사용 예2
속성 값을 얻었을 때 "가져왔습니다."출력
main.js
const target = {
hoge: 'hoge',
fuga: 'fuga'
}
const handler = {
get(target, prop) {
console.log('取得しました。');
return target[prop];
}
}
const pxy = new Proxy(target, handler);
pxy.hoge;
console.log(pxy);
get 방법
검측 수치의 취득.
사용 예3
속성 값을 삭제할 때 삭제됨출력
main.js
const target = {
hoge: 'hoge',
fuga: 'fuga'
}
const handler = {
deleteProperty(target, prop) {
console.log('削除しました。')
delete target[prop];
}
}
const pxy = new Proxy(target, handler);
delete pxy.hoge;
console.log(pxy);
deleteProperty 메서드
체크 값의 삭제.
사용 예4
존재하지 않는 속성에 접근하는 중 오류가 발생했습니다.
main.js
const target = {
hoge: 'hoge',
fuga: 'fuga'
}
const handler = {
get(target, prop) {
if (!target[prop]) {
throw new Error('プロパティが存在しません。');
}
return target[prop];
}
}
const pxy = new Proxy(target, handler);
console.log(pxy.hoge);
console.log(pxy.fuga);
console.log(pxy.piyo);
다음은 Proxy에 대한 요약입니다.
여기까지 봐주셔서 감사합니다!
Reference
이 문제에 관하여([JavaScript] Proxy 객체 정보[요약]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/higa02/items/b810d067466994d525f2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
const target = {
hoge: 'hoge',
fuga: 'fuga'
}
const handler = {
メソッド
}
new Proxy(target, handler);
// target = 指定するオブジェクトが入る
// handler = 指定したオブジェクト(target)を操作する際に
// 実行されるメソッドが格納されたオブジェクト
속성 값이 변경되었을 때 "변경되었습니다."출력
main.js
const target = {
hoge: 'hoge',
fuga: 'fuga'
}
const handler = {
set(target, prop, value) {
target[prop] = value;
console.log('変更がありました。') ;
}
}
const pxy = new Proxy(target, handler);
pxy.hoge = 'ほげ';
console.log(pxy);
set 메서드
값 변경을 체크합니다.
첫 번째 인자: target 대상
보조 매개변수:속성 이름
세 번째 매개변수: 수정된 값
main.js
const target = {
hoge: 'hoge',
fuga: 'fuga'
}
const handler = {
set(target, prop, value) {
console.log(target);
console.log(prop);
console.log(value);
}
}
const pxy = new Proxy(target, handler);
pxy.hoge = 'ほげ';
사용 예2
속성 값을 얻었을 때 "가져왔습니다."출력
main.js
const target = {
hoge: 'hoge',
fuga: 'fuga'
}
const handler = {
get(target, prop) {
console.log('取得しました。');
return target[prop];
}
}
const pxy = new Proxy(target, handler);
pxy.hoge;
console.log(pxy);
get 방법
검측 수치의 취득.
사용 예3
속성 값을 삭제할 때 삭제됨출력
main.js
const target = {
hoge: 'hoge',
fuga: 'fuga'
}
const handler = {
deleteProperty(target, prop) {
console.log('削除しました。')
delete target[prop];
}
}
const pxy = new Proxy(target, handler);
delete pxy.hoge;
console.log(pxy);
deleteProperty 메서드
체크 값의 삭제.
사용 예4
존재하지 않는 속성에 접근하는 중 오류가 발생했습니다.
main.js
const target = {
hoge: 'hoge',
fuga: 'fuga'
}
const handler = {
get(target, prop) {
if (!target[prop]) {
throw new Error('プロパティが存在しません。');
}
return target[prop];
}
}
const pxy = new Proxy(target, handler);
console.log(pxy.hoge);
console.log(pxy.fuga);
console.log(pxy.piyo);
다음은 Proxy에 대한 요약입니다.
여기까지 봐주셔서 감사합니다!
Reference
이 문제에 관하여([JavaScript] Proxy 객체 정보[요약]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/higa02/items/b810d067466994d525f2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
const target = {
hoge: 'hoge',
fuga: 'fuga'
}
const handler = {
get(target, prop) {
console.log('取得しました。');
return target[prop];
}
}
const pxy = new Proxy(target, handler);
pxy.hoge;
console.log(pxy);
속성 값을 삭제할 때 삭제됨출력
main.js
const target = {
hoge: 'hoge',
fuga: 'fuga'
}
const handler = {
deleteProperty(target, prop) {
console.log('削除しました。')
delete target[prop];
}
}
const pxy = new Proxy(target, handler);
delete pxy.hoge;
console.log(pxy);
deleteProperty 메서드체크 값의 삭제.
사용 예4
존재하지 않는 속성에 접근하는 중 오류가 발생했습니다.
main.js
const target = {
hoge: 'hoge',
fuga: 'fuga'
}
const handler = {
get(target, prop) {
if (!target[prop]) {
throw new Error('プロパティが存在しません。');
}
return target[prop];
}
}
const pxy = new Proxy(target, handler);
console.log(pxy.hoge);
console.log(pxy.fuga);
console.log(pxy.piyo);
다음은 Proxy에 대한 요약입니다.
여기까지 봐주셔서 감사합니다!
Reference
이 문제에 관하여([JavaScript] Proxy 객체 정보[요약]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/higa02/items/b810d067466994d525f2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
const target = {
hoge: 'hoge',
fuga: 'fuga'
}
const handler = {
get(target, prop) {
if (!target[prop]) {
throw new Error('プロパティが存在しません。');
}
return target[prop];
}
}
const pxy = new Proxy(target, handler);
console.log(pxy.hoge);
console.log(pxy.fuga);
console.log(pxy.piyo);
Reference
이 문제에 관하여([JavaScript] Proxy 객체 정보[요약]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/higa02/items/b810d067466994d525f2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)