問題タブ [function-expression]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - JS クラス: クラス宣言における ES6 myFunc(){..} と ES5 myFunc = function() {...} の違い
次のコードでは、
read = function() { console.log('I am reading') }
新しく作成されたインスタンスのプロパティになります。
p1.hasOwnProperty('read')
はtrue
speak() { console.log('I am speaking'); }
に割り当てられるのとは対照的にPersonClass.prototype
。すなわち
p1.hasOwnProperty('speak')
はFalse
p1.__proto__.hasOwnProperty('speak')
はtrue
誰かがなぜこれが起こるのか説明できますか.
基本的に、クラス内のメソッド宣言の 2 つの方法の違いは何ですか。
(ES6で)speak() {...}
の短い構文だと思いましたspeak = function() {...}
ありがとう
javascript - 関数宣言と式の組み合わせが機能しない
関数宣言と関数式を別々に見直していたのですが、問題ありませんでした
しかし、それらを結合しようとすると、関数宣言は無視されます
この種の宣言が必要になる実際のケースはありませんが、なぜ機能しないのかを理解しようとしています
適切な文献を知っている人はいますか?