Podsumowanie
Operator instanceof
zwraca true
, jeżeli określony obiekt jest obiektem określonego typu .
Operator | |
Zaimplementowane w: | JavaScript 1.4 |
Składnia
objectName
instanceof
objectType
Parametry
-
objectName
-
Nazwa obiektu do porównania dla
objectType
.
-
objectType
- Typ obiektu.
Opis
instanceof
jest używane w celu potwierdzenia typu obiektu w trakcie działania programu. Na przykład, podczas przechwytywania wyjątków, można korzystać z osobnych implementacji kodu obsługujacego wyjątki, w zależności od rodzaju rzuconego wyjątku.
Należy określić obiekt po prawej stronie operatora instanceof
. Na przykład, można określić string utworzony przy pomocy konstruktora String, ale nie ciąg wprost.
color1=new String("green") color1 instanceof String // returns true color2="coral" color2 instanceof String // returns false (color2 is not a String object)
Przykłady
Zobacz także przykłady dla throw.
Przykład: Określanie czy theDay
jest obiektem typu Date
Następujacy kod używa instanceof
do określenia czy theDay
jest obiektem typu Date
. Ponieważ zmiennej theDay
został przypisany obiekt typu Date
, instrukcje w bloku if
zostaną wykonane.
theDay=new Date(1995, 12, 17) if (theDay instanceof Date) { // instrukcja do wykonania }
Przykład: Demonstracja, który obiekt String
i Date
są typu Object
Następujący kod stosuje instanceof
do zademonstrowania, które obiekty String
i Date
są także typu Object
(czerpane są one z Object
).
myString=new String() myDate=new Date() myString instanceof String // zwraca true myString instanceof Object // zwraca true myString instanceof Date // zwraca false myDate instanceof Date // zwraca true myDate instanceof Object // zwraca true myDate instanceof String // zwraca false
Przykład: mycar
jest jednocześnie typem Car
i Object
Poniższy kod tworzy obiekt typu Car
, następnie instancję tego typu: mycar
.
Użycie instanceof
pokazuje, że mycar
jest zarówno typem Car
, jak i Object
.
function Car(make, model, year) { this.make = make this.model = model this.year = year } mycar = new Car("Honda", "Accord", 1998) a=mycar instanceof Car // zwraca true b=mycar instanceof Object // zwraca true