この記事は主に JavaScript の setter メソッドと getter メソッドを詳しく紹介していますので、興味のある方はぜひ参考にしてください。
私はこれまでプロジェクトを書くときに Javascript の setter メソッドと getter メソッドを使用したことがなかったので、理解する必要がある概念です。今日、この知識点を本で見ましたが、まだ漠然としていたので、勉強することにしました。研究;
JavaScript オブジェクトのプロパティは、名前、値、および一連のプロパティで構成されます。まず、オブジェクトの 2 つのプロパティを見てみましょう:
データ プロパティ。よく使用するのでよく知っておく必要があります。
アクセサー プロパティ。アクセサー プロパティとも呼ばれます。
アクセサー プロパティとは何ですか?値を取得および設定する関数のセットです。 ECMAScript5 では、1 つまたは 2 つのメソッドを使用してプロパティ値を設定できます。2 つのメソッドはゲッターとセッターであり、そのため、ゲッターとセッターによって定義されたプロパティはアクセサー プロパティと呼ばれます。
var o = { get val(){ /*函数体*/ return ; }, set val(n){ /*函数体*/ } }
上記は、アクセサー属性を定義する最も簡単な方法です。getter メソッドと setter メソッドが実際には関数を置き換える関数であることがわかります。
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
ゲッター メソッドにはパラメーターがなく、戻り値があります。ゲッター メソッドが個別に設定されている場合、属性値を取得することのみが可能で、定義された属性値を変更することはできないため、データのセキュリティが確保されます。
var o = { a:3, set val(n){ this.a = n; } } console.log(o.val);//undefined
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
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
関連する推奨事項:
JavaScript のゲッターとセッターの使い方 JavaScript なぜ setter を使用するのは良くないのでしょうか? JavaScript での getter/setter 実装のサンプルコードの共有以上がJavaScriptのセッターとゲッターの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。