私は現在Javascriptを学習しており、基本OOP
をfreecodecampに学習しています。私はこの時点でオブジェクトを作成しています。このオブジェクトを取得して、返すオブジェクトを返そうとしています。自転車のコンストラクタは指定量を出力する代わりに歯車を追加し続けます
このプロジェクトの全体の説明は次のとおりです。
オブジェクトは、独自の属性、プロパティと呼ばれる、と独自の関数と呼ばれる方法があります。
以前の課題では、thisキーワードを使用して、現在のオブジェクトのパブリックプロパティを参照していました。
また、オブジェクトの外部からアクセスできないプライベートプロパティとプライベートメソッドを作成することもできます。
これを行うには、このプロパティをプロパティとして作成するのではなく、わかりやすいvarキーワードを使用してコンストラクタ内に変数を作成します。
これは、オブジェクトに関する情報を格納する必要があるときに、外部コードによってどのように使用されるかを制御したいときに便利です。
たとえば、車の走行速度を保存したいが、外部のコードでアクセラレーションや減速を変更するだけで、速度が制御された形で変わるのはどうだろうか?
このパターンを実装するCarコンストラクタの例をエディタに表示できます。
今すぐお試しください! Bikeコンストラクタを変更して、gearと呼ばれるプライベートプロパティと、その値を取得および設定するためのgetGearおよびsetGearという2つのパブリックメソッドを持つようにします。しかし、私はまた、この自分自身を試してみて、デバッグする
node terminal
を使用しています、
は今、私はこれがどのように動作するかの基本的な概念を理解し、私は私がやっている理解しています、私は結論に来ていることプログラムは、一緒たびにギアを追加します
> var Bike = function() {
...
... // Only change code below this line.
... var gear = 0;
...
... this.setGear = function(switchGear){
... gear += switchGear;
... };
...
... this.getGear = function() {
... return gear;
... };
... };
undefined
> var myBike = new Bike();
undefined
> myBike.setGear(4);
undefined
> myBike.getGear();
4
> myBike.setGear(4);
undefined
> myBike.getGear();
8
>
誰かが私が間違ってここにやっているものを私に説明してくださいことはできますか?それは一緒に加えることだ、なぜ私は理解していない...ありがとう...
出典:
var Bike = function() {
// Only change code below this line.
var gear = 0;
this.setGear = function(switchGear){
gear += switchGear;
};
this.getGear = function() {
return gear;
};
};
var myBike = new Bike();
'+ = '演算子の手段か、「右辺のオペランドの値を追加左側の変数の現在の値に変更し、結果をその変数に格納します。 "あなたのプログラムがそれを伝えているからです。 – Pointy