JavaScript · Middle · Pytanie 33 z 75
Co daje Object.defineProperty(obj, 'id', { value: 1, writable: false })?
- ✓Poprawna odpowiedź: Właściwości nie da się nadpisać; domyślnie jest też niewyliczalna
- 2Właściwości nie da się odczytać z zewnątrz; staje się prywatna
- 3Właściwość jest usuwana, gdy obiekt przestaje być używany
Wyjaśnienie
Każda właściwość ma flagi writable, enumerable i configurable. Przy defineProperty niepodane flagi domyślnie mają wartość false, więc właściwość nie pojawi się w Object.keys i nie da się jej usunąć. W ten sposób definiuje się też gettery i settery.