Skip to content

Instantly share code, notes, and snippets.

@shizuka-na-kazushi
Created September 19, 2020 23:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shizuka-na-kazushi/4fc6b304d9a2ce4dec66c7b4bf79435c to your computer and use it in GitHub Desktop.
Save shizuka-na-kazushi/4fc6b304d9a2ce4dec66c7b4bf79435c to your computer and use it in GitHub Desktop.
dog.name プロパティを別の値に置き換えてしまう Proxy !
// トムという名前を持った犬オブジェクトを生成
var dog = {name: 'トム', age: 1};
// 1. 普通に dog を使う
console.log(`${dog.name}は、${dog.age} 歳の犬です`);
// Proxyに渡すhandler
var handler = {
get: (target, prop, receiver) => {
if (prop == 'name') {
return 'ジェリー';
}
return target[prop];
}
}
// proxyで置き換えた!
dog = new Proxy(dog, handler);
// 2. 置き換わった dog を使う
console.log(`${dog.name}は、${dog.age} 歳の犬です`);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment