Dokumentacja języka JavaScript 1.5:Operatory:Operatory specjalne:Operator delete
z Mozilla Developer Center, polskiego centrum programistów Mozilli.
Spis treści |
[edytuj] Podsumowanie
Operator delete usuwa obiekt, własność obiektu lub element w określonym indeksie w tablicy.
| Operator | |
| Zaimplementowany w: | JavaScript 1.2, NES3.0 |
| Wersja ECMA: | ECMA-262 |
[edytuj] Składnia
delete nazwaObiektu delete nazwaObiektu.własność delete nazwaObiektu[indeks] delete własność // dozwolone tylko wewnątrz instrukcji with
[edytuj] Parametry
-
nazwaObiektu - Nazwa obiektu.
-
własność - Własność do usunięcia.
-
indeks - Liczba całkowita reprezentująca indeks tablicy do usunięcia.
[edytuj] Opis
Czwarta forma jest dozwolona tylko wewnątrz instrukcji with w celu usunięcia własności z obiektu.
Możesz użyć operatora delete, aby usunąć zmienne zadeklarowane bezpośrednio, jednak nie możesz usunąć zmiennych zadeklarowanych za pomocą instrukcji var.
Jeśli operator delete zadziała prawidłowo, ustawi on własność lub element jako undefined (niezdefiniowany). Operator delete zwraca wartość true (prawda), jeśli operacja jest możliwa, zaś wartość false (fałsz), gdy operacja nie jest możliwa.
x=42 var y= 43 myobj=new Number() myobj.h=4 // tworzy własność h delete x // zwraca true (można usuwać, jeśli zadeklarowano bezpośrednio) delete y // zwraca false (nie można usuwać, jeśli zadeklarowano za pomocą var) delete Math.PI // zwraca false (nie można usuwać własności predefiniowanych) delete myobj.h // zwraca true (można usuwać własności zdefiniowane przez użytkownika) delete myobj // zwraca true (można usuwać obiekty)
[edytuj] Usuwanie elementów tablicy
Gdy usuwasz element tablicy nie ma to wpływu na jej długość. Na przykład: jeśli usuniesz a[3], a[4] będzie wciąż a[4], natomiast a[3] będzie niezdefiniowane.
Gdy operator delete usuwa element tablicy, element ten przestaje już w niej istnieć. W poniższym przykładzie drzewa[3] jest usunięte za pomocą delete.
drzewa=new Array("sekwoja","wawrzyn","cedr","dąb","klon")
delete drzewa[3]
if (3 in drzewa) {
// to nie zostanie wykonane
}
Jeśli chcesz, aby element tablicy nadal istniał, ale posiadał wartość niezdefiniowaną, użyj słowa kluczowego undefined zamiast operatora delete. W poniższym przykładzie, drzewa[3] jest przypisana wartość niezdefiniowana, ale element tablicy nadal istnieje:
drzewa=new Array("sekwoja","wawrzyn","cedr","dąb","klon")
drzewa[3]=undefined
if (3 in drzewa) {
// to zostanie wykonane
}