instanceof
JavaScript anahtar kelime ilk karşılaşıldığında insanların JavaScript nesne yönelimli bir programlama dili değildir düşünüyorsanız eğilimindedir oldukça kafa karıştırıcı olabilir.
- Bu ne?
- Hangi sorunları çözüyor?
- Ne zaman uygun ve ne zaman uygun değil?
"foo" instanceof String
=> false, 1 instanceof Number
=> false, {} instanceof Object
=> false. Ne dedin?!
"foo" instanceof String => false
doğrudur, çünkü typeof "foo" == 'string'
. new String("foo") instanceof String => true
, çünkü typeof String == 'function'
- işlevi sınıf gibi ele almalısınız (sınıfın tanımı). Değişken olarak atadığınızda instanceof
bazı function
(sınıf) olur var v = new AnythingWhatTypeofEqualsFunction()
. Aynı şey için de geçerlidir 1
. typeof 1 == 'number'
- 'numara' 'işlevi' değil :) Sonraki - {} instanceof Object
olan TRUE
düğüm ve modern tarayıcılarda
({}) instanceof Object
geri dönecektir true
. Aslında yazdığınız kod size bir hata verecektir.