, konsol.log'un özel nesneler verdiğini etkilemenin bir yolu var mı? Ancak çalışmayan customObject.prototype.toString yönteminin üzerine yazmayı denedim.özel nesnenin console.log davranışını ayarlayın.
Herhangi bir fikrin var mı?
, konsol.log'un özel nesneler verdiğini etkilemenin bir yolu var mı? Ancak çalışmayan customObject.prototype.toString yönteminin üzerine yazmayı denedim.özel nesnenin console.log davranışını ayarlayın.
Herhangi bir fikrin var mı?
node.js'de, console.log
, her argüman üzerinde bir biçimlendirme yer tutucusu olmaksızın util.inspect
numaralarını çağırır. Dolayısıyla, nesneniz üzerinde bir inspect(depth, opts)
yöntemi tanımlarsanız, nesnenin özel dize temsilini almak için çağrılır.
function Custom(foo) {
this.foo = foo;
}
Custom.prototype.inspect = function(depth, opts) {
return 'foo = ' + this.foo.toUpperCase();
};
var custom = new Custom('bar');
console.log(custom);
Çıkışlar:
foo = BAR
Veya bir sınıf kullanarak: için, öyle inanmıyorum
class Custom {
constructor(foo) {
this.foo = foo;
}
inspect(depth, opts) {
return 'foo = ' + this.foo.toUpperCase();
}
}
var custom = new Custom('bar');
console.log(custom);
yeni bir inceleme yöntemini tanımlamakta başka önemli sonuçları var mı? – MoeSattler
@Moezalez Bildiğim kadarıyla, hayır. Dokümanlara göre, util.inspect'nin birincil faydası, hata ayıklamada kullanmaktır, dolayısıyla bu kullanım amaçlandığı gibidir. – JohnnyHK
Tarayıcılarda eşdeğer bir seçenek var mı? –
Örneğin
her zaman ekleyebileceğiniz hata ayıklama; 'console.logg = işlev (o) {console.log (o.toString()); } ' –
olası yinelemesi [konsol.log tarafından görüntüleneni denetlemek için JavaScript nesnesinde geçersiz kıldığım bir yöntem var mı?] (Http://stackoverflow.com/questions/2960936/is-there-a-method- I-can-override-on-a-javascript-object-to-control-what-is-displ) – JJJ