2015-12-18 29 views
10

w JavaScript trybie ścisłymJak rozpoznać właściwości dezaktywujące javascript?

Usuwanie własności undeletable jest niedozwolone

Aby upewnić się, że nie należy usuwać taką właściwość undeletable, w jaki sposób jedna figura z nieruchomość X jest Kasowalne i właściwość Y jest undeletable

Koncepcja stojąca za tym jest ......?

Odpowiedz

9

Koncepcja tego jest ...?

Property attributes. Każda właściwość, która ma ustawiony atrybut configurable na false, nie może być delete d (która nie działa dyskretnie w trybie niechlujstwa i generuje w trybie ścisłym).

Jak ustalić, czy obiekt jest usuwany?

Można użyć Object.getOwnPropertyDescriptor() function aby uzyskać dostęp do atrybutów jako obiekt:

var isDeletable = Object.getOwnPropertyDescriptor(obj, "propName").configurable; 

Zauważ, że to będzie działać tylko na własne właściwości obj nie dziedziczy nic z nich; dla tych będziesz musiał zadzwonić do funkcji na odpowiednim prototypie.

+0

To było szybkie i bliskie perfekcji! Dzięki – xameeramir

+1

@student: Tylko blisko ?! Proszę, powiedz mi, co mogę poprawić, lub zasugeruj edycję :-) – Bergi

+1

Ponieważ żyjemy w [nie-ideale] (http://sd.keepcalm-o-atic.co.uk/i/nobody-is-perfect -im-nobody - 2.png) world;) – xameeramir