プログラミング言語、構文メモ

Javascript構文で、イラッとする細かいところ。

  • hoge = this;
    • コールバック中のthisが呼び出し元スコープのthisではない
    • そのため、既存のオブジェクト志向記述にするとよくundefでエラー停止
    • Arrayのmap, reduce, forEachの最後の引数にthisを渡さないといけない
    • さらにコールバックなら、.bind(this)にする必要がある
  • Arrayのpushの戻り値がArrayでない
    • そのため、reduceのコールバックでarr.push(element); return arr
    • 素直に、return arr._push(element)でメソッドチェーンできるようにしといてほしい
  • 代入式の戻り値が右辺
    • そのため、{}.value = obj の代入式の戻り値が{}のオブジェクトではなくobjオブジェクト
    • そのため、reduceのコールバックで、o.value = obj ; return oとか
    • 素直に、return o._assign(value, obj) とかでメソッドチェーンできるようにしといてほしい