JavaScriptのオブジェクトで使用する取得メソッドおよび設定メソッド.どうやって?


共通のオブジェクトパラダイムは、getterメソッドとsetterメソッドを属性として含めることです.Getterメソッドとsetterメソッドは、オブジェクトのプロパティを取得して設定します.
長所
  • プロパティを設定する前に新しいデータが有効かどうかを確認できます
  • あなたが取得したり、プロパティを設定してデータを操作することができます.
  • どのプロパティを格納することができますし、取得を制御できます.
  • セッターの使用方法を示す例を次に示します.
    let person = {
        _name: 'Johnson Ogwuru',
        _age: 137,
    
        set age(newage){
          if(typeof newage === 'number'){
               this._age = newage;
                console.log('valid input')
          }
          else{
               console.log ('Invalid input');
          }
        }
    
      };
    
    プロパティ名をアンダースコアでプリペアドする_ . 開発者は、プロパティや値を示すためにアンダースコアを使用します.ここで設定した値は、特定のプロパティに有効な値が追加されていることを確認します.ここでの妥当性は、値として数値になりますが、このプロパティに文字列を追加しようとするとどうなりますか?では、この行の下にこの行を追加する方法を見てみましょう.
      person.age = 'Thirty-nine';//returns invalid input
    
      console.log(person._age);
    

    上から、アプリケーションを実行する際に、コンソールの'無効値'にログオンしました.また、age プロパティは変更されなかった.しかし、我々はどのように修正しようとするage パラメータが正しい値です.何が起こるかを参照してください、あなたの選択の任意の数に前のコードの文字列を変更;
       person.age = 'Thirty-nine';//returns invalid input
    
       console.log(person._age);
    

    上記のイメージから、我々の価値は有効であると認められました、そして、また、年齢資産の価値は正常に修正されました.それでSetters .
    オブジェクトの内部のプロパティ値を取得するために使用します.前の例にゲッターメソッドを追加するには、次のようになります.
    let person = {
        _name: 'Johnson Ogwuru',
        _age: 137,
    
        set age(newage){
          if(typeof newage === 'number'){
            this._age = newage;
            console.log('valid input')
          }
          else{
            return 'Invalid input';
          }
        },
    
        get age(){
          console.log(`${this._name} is ${this._age} old`);
          return this._age
        }
    
      };
    
      person.age = 'Thirty-nine';
      person.age = 39;
      console.log(person.age);
    
    上記のコードを実行する

    要約Getter and Setter メソッドを使用すると、プロパティ値にアクセスまたは設定する前にデータを処理できます.
    の使い方を見てみましょうsetter and getter ES 6クラスのメソッド.....私の次のポストで.lol