この記事では、「function」キーワードを使用しないオブジェクト メソッド定義の興味深いケースを検討します。コーディング エラーのように見えるかもしれませんが、新しい ES6 機能の導入により、実際には一部のブラウザで動作する可能性があります。
どのように動作しますか?
ECMAScript 6 (ES6) では、オブジェクト内のメソッド定義に短縮表記が導入されました。この表記法により、以下の例に示すように、「function」キーワードが不要になります。
// Shorthand method names (ES6) var o = { property([parameters]) {}, get property() {}, set property(value) {}, * generator() {} };
ブラウザのサポート
この簡略表記法は、最新のブラウザでサポートされています。 Chrome のように動作しますが、Internet Explorer 11 などの古いブラウザでは動作しません。これが、質問で提供されている例が Chrome では動作するが、IE では失敗する理由です。 11.
これはバグですか?それとも機能ですか?
この動作は、最新のブラウザーでの ES6 の実装の結果です。これはバグではなく、より簡潔で読みやすいオブジェクト メソッド定義を可能にする意図された機能です。
結論
「関数」を使用せずにオブジェクト メソッドを定義できる機能キーワードは、コードを簡素化し、読みやすさを向上させる注目すべき ES6 機能です。すべてのブラウザでサポートされているわけではありませんが、最新の JavaScript 開発ではますます一般的になってきています。
以上がJavaScript で「function」キーワードなしでオブジェクト メソッドを定義できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。