私は以下のコードを実行していましたが、devtoolsで実行しているときにobj.hi = 'default'が表示されていましたが、iojs 3.3.1でハーモニー矢印関数を実行しているときにobj.hi = 'foo'。 "this"はdevtoolsのウィンドウで、 "this"はiojsのオブジェクトです。これを避けるために.callで矢印を使うことを避けるのが一般的に良い習慣ですか?.call()で矢印関数を使用しますか? "これは" devtoolsやiojsをローカルに使っているかどうかによって異なります。 .callで矢印を使用しないでください。
'use strict'
let obj = {
hi: "default"
}
let foobar =() => {
console.log(this)
this.hi = "foo"
}
foobar.call(obj)
console.log(obj)
なぜiojsを使用していますか?!?!?!?! – Amit
ここでIo.jsは間違っています。おそらくそれをドロップし、最近のノードのインストールを取得する必要があります。 – Bergi
ええと、私はこれがiojsの問題だと思います...私はノード6.2.0に入れ替えました。ありがとう。 –