Jeśli spróbuję odwołać się do nieistniejącej zmiennej, otrzymam ReferenceError w JavaScript. Dlaczego odwołanie się do nieistniejącej właściwości obiektu zwraca "niezdefiniowany"? Oto kod, pod warunkiem, piszę go w przeglądarce:dlaczego odwoływanie się do nieistniejącej właściwości obiektu w javascript nie zwróci błędu odniesienia?
alert(a);
ReferenceError: a is not defined //error is thrown
alert({}.a)
undefined //no error
Czy możesz dodać kod? Gdybym był hazardzistą, powiedziałbym, że istnieje, ale jest albo pusty, albo pusty. Czy debugujesz za pomocą konsoli? –
Pytasz, dlaczego ten język został zaprojektowany w ten sposób? @MikeHometchko - Wziąłbym twój zakład: nieistniejące właściwości zwracają 'undefined', podczas gdy właściwości które mają' null' zwracają 'null' (a jeśli przez" puste "masz na myśli pusty łańcuch, który powróci, cóż, pusta struna); aby jeszcze bardziej zagmatwać, właściwości, które istnieją, ale które zostały przypisane do wartości 'undefined' również zwracają' undefined'. – nnnnnn
@nnnnnn Myślę, że on jest ... –