JavaScript の「新しい」キーワードは本当に有害ですか?
JavaScript の適切な実践方法についての議論が続く中、Douglas Crockford 氏の主張は、「新しい」キーワードは本当に有害ですか?リスクをもたらすキーワードが議論を引き起こしました。ただし、明確な結論に達する前に、その利点と欠点をさらに深く掘り下げることが重要です。
「new」を使用する利点
「new」を使用するデメリット
function foo() { if (!(this instanceof foo)) { return new foo(); } // Constructor logic follows... }
バランスのとれた視点
Crockford のスタンスは次のようなものであってはいけないことを強調することが重要です。盲目的に受け入れられる。 「新しい」ことの利点が潜在的な欠点を上回る場合があります。上記の防御的プログラミング メカニズムを実装することで、開発者はコードの堅牢性を損なうことなく「新しい」力を活用できます。
ES5/ES6 の考慮事項
ES5 では, 厳密モードでは、防御チェックでの「arguments.callee」の使用は禁止されています。 ES6 では、クラス内に「new」の安全な実装が導入され、外部チェックの必要がなくなります。さらに、「new.target」は、「new」で呼び出されないコンストラクタのチェックを提供します。
結論
Crockford の懸念は注目すべきですが、「new」 「キーワードは本質的に有害ではありません。賢明なコーディング手法を採用し、その複雑さを理解することで、開発者は潜在的な落とし穴を軽減しながら「新しい」利点を活用できます。利点と防御テクニックの両方を考慮したバランスの取れたアプローチにより、この重要な JavaScript 機能を安全かつ効果的に利用できるようになります。
以上がJavaScript の「new」キーワードは本当に危険ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。