JavaScript

Bir neçə yeni operator

Bir neçə yeni operator

Obyektlərlə işləyərkən tətbiq olunan bir neçə yeni operatora baxmaq zamanı gəldi.
in operatoru verilmiş obyektdə verilmiş xassənin olub-olmadığını yoxlayır və true və ya false qiymətini qaytarır.
{xassənin adı} in {obyektin adı}

Burada xassənin adı sətir şəklində verilir, obyektin adı isə, obyekt tipli dəyişən kimi verilir.
Bu operatoru məsələn, aşağıdakı kimi istifadə etmək olar:


if ("SomeProperty" in obj) ...

Qeyd: in operatorunu yalnız Internet Explorer dəstəkləyir.

instanceof operatoru verilmiş obyektin verilmiş sinifin nüsxəsi olub-olmadığını yoxlayır, true və ya false qiymətini qaytarır.
{obyekt} instanceof {sinif}

Burada obyekt obyekt tipli dəyişən şəklində verilir, sinif isə sinifin adı şəklində verilir.


if (obj instanceof SomeObject) ...

Qeyd: instanceof operatoru Internet Explorer-in 5.5-ci versiyasından başlayaraq dəstəklənir.

for-in operatoru obyektin bütün xassələrinə və ya massivin bütün elementlərinə baxmağa və hər biri üçün əməliyyat aparmağa imkan verir. Bu operator xüsusiləşdirilmiş dövr operatorudur.


for({sayğac} in {obyekt və ya massiv})
    ... dövrün gövdəsi

sayğacı obyektin xassəsinə və ya massivin elementinə müraciət etmək üçün istifadə etmək olar.


for(k in obj)
{
    s += k + ‘ ’;
    st += obj[k] + ‘ ’;
}

Bu proqram fraqmenti obj obyektinin bütün xassələrinə baxır və xassələrin adlarını boşluq işarəsi ilə ayıraraq, s dəyişəninə yazır, st dəyişəninə isə, xassələrin qiymətlərinin yenə də boşluq işarəsi ayıraraq saxlayır.

Qeyd: for-in operatoru Internet Explorer-in 5.5-ci versiyasından başlayaraq dəstəklənir.

with operatoru, əgər proqramda hər hansı obyektin (qeyd: bir obyektin) xassə və metodları istifadə olunursa, JavaScript ifadələrinin uzunluğunu xeyli qısaltmağa imkan verir. Misala baxaq.


someobject.property1 = 1;
someobject.property2 = 2;
someobject.property3 = 3;
someobject.method1;

Bu, bizim with operatoru istifadə olunmayan proqram fraqmentimizdir. Baxın ifadələr necə uzun sətirdir. İndi isə, with operatorunu istifadə edək.


with(someobject)
{
    property1;
    property2;
    property3;
    method1;
}

Bu proqram fraqmenti isə, olduqca qısadır.