質問するログイン新規登録

回答編集履歴

2

表現の修正

2020/12/09 23:37

投稿

think49
think49

スコア18194

answer CHANGED
@@ -11,7 +11,7 @@
11
11
 
12
12
  > もしメソッドが副作用を起こさないようにするにはプライベート変数を使うべきではないのでは?とも思ってしまいますがプライベート変数を使わないことができません。
13
13
 
14
- そのコードはプライベートプロパティをコーディング規約で縛る実装であり、スコープは公開プロバイダーと変わりません。
14
+ そのコードはプライベートプロパティをコーディング規約で縛る実装であり、スコープは公開プロパティと変わりません。
15
15
  `Object.keys()` でプライベートプロパティを列挙出来ますし、プライベートプロパティを参照させるべきではないメソッドからも参照出来ます。
16
16
 
17
17
  比較論としては、`Object.defineProperty` で列挙不可能にしたり、`WeakMap` を使用してスコープを制限する実装がより好ましいと思います。

1

表現の修正

2020/12/09 23:36

投稿

think49
think49

スコア18194

answer CHANGED
@@ -3,7 +3,7 @@
3
3
  `this` 値を変化させる関数は副作用があります。
4
4
 
5
5
  全関数に参照透過性を持たせるなら、`class` を諦め、静的関数のみを使用する必要があります。
6
- しかし、その為にはビルトイン関数のインスタンスメソッドを封印する事で必要があり、JavaScriptの大半の機能を犠牲にします。
6
+ しかし、その為にはビルトイン関数のインスタンスメソッドを封印する必要があり、JavaScriptの大半の機能を犠牲にします。
7
7
 
8
8
  ### スコープ
9
9