JavaScript におけるthisがコンテキストによって参照するものが異なるということはこの言語のハマり所としてよく知られていると思います。 今回は Node.js で クラスに定義したプロトタイプメソッド1 を同クラスの別のメソッドでコールバックとして実行した際に、コールバック内の this の挙動が想定通りの挙動にならず悩まされたので対処方法と原因を調査しました。 もし誤りがあればコメント欄などでご指摘いただければ幸いです。 前提 クラス記法を使用するため、バージョンは ES6 を想定しています。 例 以下のSampleクラスを例とします。 class Sample { constructor(prop) { this.prop = prop; } /** * `prop`の値をコンソールに出力する */ printProp() { console.log(this.prop);