JavaScriptのsetterとgetterの方法


以前はプロジェクトを書いていますが、Javascriptのsetterとgetterの方法はずっと使ったことがありません。だから、それは分からない概念です。今日本を読んでこの知識点を見ましたが、やはりぼんやりしています。
Javascriptオブジェクトの属性は名前と値と特性のセットから構成されます。まず、対象の2つの属性を調べます。
データの属性はよく使います。よく知っているはずです。
アクセサの属性は、アクセサの属性とも呼ばれます。
アクセサの属性は何ですか?は、取得と設定値のセットの関数です。ECMAScript 5では、属性値は一つまたは二つの方法で設定できます。この二つの方法はgetterとsetterです。したがって、getterとsetterが定義する属性をアクセサ属性と呼びます。

var o = {
  get val(){
    /*   */
    return ;
  },
  set val(n){
    /*   */
  }
}
上にあるのはアクセサの属性を定義する一番簡単な方法です。ゲッターとセッターの方法は実はfunctionの代わりの関数です。

var o = {
  a:3,
  get val(){
    return Math.pow(this.a,2);
  }
}

console.log(o.val);//9
o.val = 100;
console.log(o.val);//9

getter方法はパラメータなしであり、戻り値がある。getterメソッドを単独で設定した場合、属性値のみを取得し、定義された属性値を変更できない場合、データの安全性を保証します。

var o = {
  a:3,
  set val(n){
    this.a = n;
  }
}

console.log(o.val);//undefined

setter方法はパラメータがあり、戻り値がない。setter方式を単独に設定した場合、属性値を読み込めません。

var o ={
  a:3,
  get val(){
    return Math.pow(this.a,n);
  },
  set val(n){
    this.a = Math.max(this.a,n);
  }
}

console.log(o.a);//3
console.log(o.val);//9
o.val = 10;
console.log(o.a);//10
console.log(o.val);//100

上記のコードから、thisはそのオブジェクト(つまりコードの「o」)を指します。

var o ={
   a:3,
  get val(){
    return Math.pow(this.a,n);
  },
  set val(n){
    this.a = Math.max(this.a,n);
  }
}

o.val = 10;
var foo = Object.create(o);
console.log(foo.val);//10
foo.val = 9;
console.log(foo.val);//10

また、アクセサ属性も継承可能です。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。