回答編集履歴

2

メソッドチェーンの例

2020/03/19 21:15

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

test CHANGED
@@ -137,3 +137,89 @@
137
137
 
138
138
 
139
139
  ```
140
+
141
+
142
+
143
+ ----
144
+
145
+ 追記)メソッドチェーンできるようにする例
146
+
147
+
148
+
149
+ メソッドチェーン は 多くの javascript ライブラリが採用する手法でもあり、``return this;`` のメソッドを持ちます。
150
+
151
+
152
+
153
+ ```javascript
154
+
155
+ class Cl {
156
+
157
+ constructor(a,b,c) {
158
+
159
+ this.a = a;
160
+
161
+ this.b = b;
162
+
163
+ this.c = c;
164
+
165
+ }
166
+
167
+ a1() {
168
+
169
+ if (this.a==0) {
170
+
171
+ if (this.b==1) this.a++;
172
+
173
+ else if(this.b==2) this.a=this.a+2;
174
+
175
+ }
176
+
177
+ return this;
178
+
179
+ }
180
+
181
+ a2() {
182
+
183
+ if(this.a==0) {
184
+
185
+ if(this.c==3) this.a=this.a+3;
186
+
187
+ else if(this.c==4) this.a=this.a+5;
188
+
189
+ }
190
+
191
+ return this;
192
+
193
+ }
194
+
195
+ a3() {
196
+
197
+ if(this.a==0) {
198
+
199
+ if(this.a==4) this.a=this.a--;
200
+
201
+ else if(this.a==1) this.a=this.a++;
202
+
203
+ }
204
+
205
+ return this;
206
+
207
+ }
208
+
209
+
210
+
211
+ }
212
+
213
+
214
+
215
+ // 処理順を変更できる
216
+
217
+ let A = (new Cl(0,1,3)).a1().a2().a3();
218
+
219
+ let B = (new Cl(0,1,3)).a3().a2().a1();
220
+
221
+ console.log( A );
222
+
223
+ console.log( B );
224
+
225
+ ```

1

追記

2020/03/19 21:15

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

test CHANGED
@@ -3,6 +3,10 @@
3
3
 
4
4
 
5
5
  例えば、初期値を与えて直ぐに、まとめて実行するメソッド(``_init()``)を実行する例。
6
+
7
+ (インスタンス生成時にコンストラクタ関数で処理)
8
+
9
+
6
10
 
7
11
 
8
12