JS を学ぶのはでこぼこ道です... コード内で何が起こっているのかを理解したいのでconsole.log();
、私の友達のようです。
ときどき、どこからエラーが発生したのかわからないことがあります (または、私があまりにもばかげているかもしれません)。そこで、アプリ スタックをより適切にログに記録することを考えました。この単純だが複雑な問題の答えを見つけようとしました:
どうやってするか?ほかにもconsole.log()
たとえば、 が呼び出されている関数(コンストラクター)の名前を取得する際に、問題があることが証明されています。console.log
function SomeFunction(argument1,argument2) {
console.log(this+'> 01 message');
console.log(this.name+'> 02 message');
console.log(this.constructor+'> 03 message');
console.log(this.constructor.name+'> 04 message');
console.log(this.prototype+'> 05 message');
console.log(this.constructor.method+'> 06 message');
}
SomeFunction.prototype.sayHello = function(} {
console.log(this+'> 01 says Hello');
console.log(this.name+'> 02 says Hello');
console.log(this.constructor+'> 03 says Hello');
// and so on... //
}
そう。どちらが正しいですか?SomeFunction.constructor.name
は機能していますが、この構文は毎回使用するにはかなり長いので、次のようなものです
var fn = this.constructor.name
理にかなっていますが、それは非効率的です。
コードから適切なログ情報を抽出するにはどうすればよいですか?
参考までに: この単純なトピックについていくつかの本を調べましたが、どれもそれについて何も述べていません。