ES6'da, bir sınıf oluşturup bu sınıfın bir nesnesini oluşturuyorsam, nesnenin bu sınıf olduğunu nasıl kontrol ederim?ES6'da, bir nesnenin sınıfını nasıl kontrol edersiniz?
Nesneler hala "object"
olduğu için typeof
kullanamıyorum. Ben sadece kurucuları karşılaştırdım mı?
Örnek: person instanceof Person
class Person {
constructor() {}
}
var person = new Person();
if (/* what do I put here to check if person is a Person? */) {
// do stuff
}
Yup, bunu tamamen unutmuş! Aynı işlevlerde olduğu gibi çalışır (çünkü sınıflar sadece işlevlerdir!). Teşekkürler! – Ivan
bu doğru cevap değil. A, B, C sınıfları ve B & C'niz A'yı uzatırsa, o zaman (yeni B()) instanceof C değeri true olarak döner. – someUser
@someUser: 'new B() instanceof A', javascript'teki en kalıtım kalıtımsal tanımdır. Eğer bunu 'B' ve 'C' için bulduğunuzu fark ederseniz, meseleniz, niyetiniz olmadığında "B" den miras aldığınızdır. Mirasınızı nasıl uyguluyorsunuz? – Eric