私はJavascriptアクセサプロパティで遊んでいます(JavaScriptを勉強するためにゼロから再起動しています)、単純なオブジェクトのゲッターとセッターを作成しようとしています。コードは次のとおりです。
var dummy = {
name: 'empty',
description: 'static description',
get nameAccessor(){return 'name value is: ' + this.name;},
set nameAccessor(value){ this.name = value;},
get descAccessor(){return 'desccription value is: ' + this.description;},
};
console.log(dummy.nameAccessor);
console.log(dummy.nameAccessor('Mazinga'));
console.log(dummy.nameAccessor);
しかし、それはエラーをスローします:
キャッチされていない TypeError: オブジェクト # のプロパティ 'nameAccessor' は関数ではありません
セッターコードを実行すると:
console.log(dummy.nameAccessor('Mazinga'));
ここで何がうまくいかないのですか?
編集:
わかりました、それはjavascriptのよく知られた機能ではないようですが、 Javascriptの次の例に従いました: Definitive Guide
var o = {
data_prop: value,
get accessor_prop() { /* function body here */ },
set accessor_prop(value) { /* function body here */ }
};