instanceofJavaScript 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 => falsedoğ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 instanceofbazı 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 Objectolan TRUEdüğüm ve modern tarayıcılarda
({}) instanceof Objectgeri dönecektir true. Aslında yazdığınız kod size bir hata verecektir.