問題タブ [arrow-functions]
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 - 太い矢の繰り返し?
私がコーヒースクリプトを書いているとき、私はこれをひどくたくさんする傾向があります(擬似コード):
CoffeeScriptで透過的にバインドする方法は本当にありませんか?私はできるようになりたいです:
または、this._clickedメソッドをイベントに直接バインドし、このポインターを保持するもの
何か案は?
アップデート
_clickedは次のように定義されます。
javascript - javascriptクラスでアロー関数を混在させることに欠点はありますか?
慣れていない場合、EMCA6 ドラフトではアロー関数の構文が追加されます。主な違いは次のとおりです。
- アロー関数にはレキシカルな this があります (したがって、Function.prototype.bindを呼び出したり、クロージャーを作成したりする必要はありません)
- より短い構文
() => "foo"
vsfunction(){ return "foo";}
- アロー関数には .prototype がありません。したがって、それらはコンストラクタとして使用できず、new で呼び出すことはできず、軽量であることを意図しています。
そうは言っても、次の簡単な例を見てみましょう。
ここでは、通常の関数ではなくアロー関数をメソッドの 1 つとして使用する単純なクラスを作成しています。Animal.prototype.makeNoise
アニマルを初期化するたびにこれが設定されていることは知っていますが、上記には通常と比較して他の欠点がありますか:
これを行うことに危険が潜んでいるかどうかを知りたいと思っています。人々は、新しい短縮された構文をどこでも使用したくなると確信しているためです。前もって感謝します。
coffeescript - ファットアローがコフェスクリプトで動かない?
コーヒースクリプトクラスコンストラクターに次のコードがあります。
クラス内のこれら 3 つのメソッドを使用すると、次のようになります。
そして私は得ました:
アイテムをドロップしたときで、更新したときではありません: @currentConnection は update() で正しく定義されているようですが、dropConnection() では定義されていないようです。
なんで?何が悪いのかわからない?
typescript - Typescript - パラメータ付きアロー関数
私はTypescriptを初めて使用し、自分のものに導入しようとしていますが、いくつかのスコープとアロー関数に問題があります.
JavaScriptでは、私のコードは次のようになります...
さて、これには 2 つの問題があります。Typescriptでこれを行うときは、このようにします...
さて、これはラベル付けされた部分まで機能します。this.model
「クラス」ではなく、関数のコンテキストにあるため、私が考えるものへの参照ではなくなりました。だから私は掘り下げarrow function
て、コンテキストを保持するため、を使用する必要があることを学びました。
change
問題は、アロー関数を実行する方法が思いつかず、必要なパラメーター(バインド イベントの値やfunction(e)
パーツなど) を通過する方法が思いつかないことです。パラメータをまったく期待しない例しか見たことがありません。
javascript - この JavaScript 構文が Google Chrome でサポートされていないのはなぜですか?
次のように JavaScript/jQuery クリック リスナーを開始しました。
このコードは Firefox では問題なく動作しますが、Chrome では構文エラーが発生するようです。これは、私には「OK」構文のように見えるためです。
次のようにして、コンソールでこれをすばやくテストできます
Firefox 27.0.1 では 0 を返します Chrome では 0 を返しますSyntaxError: Unexpected token )
javascript - JavaScript ES6 アロー関数を使用した即時関数
ES6矢印構文を使用して即時関数を作成する方法を知っている人はいますか?
ES3/5 での方法は次のとおりです。
次のことを試しましたがunexpected token
、最後の行でエラーが発生します。
ここでこれをテストできます: http://www.es6fiddle.net/hsb8bgu4/