JavaScriptObiekty i klasy

Object.hasOwn()

Sprawdza, czy obiekt ma własną właściwość o podanej nazwie.

Zwraca
true albo false.
Zmienia oryginał
Nie
Na tej stronie

Przykład

#
JavaScript
const profile = { name: 'Ola', bio: undefined }

console.log(Object.hasOwn(profile, 'bio'))
console.log(Object.hasOwn(profile, 'toString'))
console.log('toString' in profile)
Konsola
true
false
true

Definicja i zastosowanie

#

Metoda Object.hasOwn(obj, klucz) zwraca true, jeśli obiekt ma właściwość o tej nazwie bezpośrednio, a nie odziedziczoną z prototypu. To nowocześniejszy i bezpieczniejszy odpowiednik obj.hasOwnProperty(klucz).

Różni się od operatora in, który sprawdza też właściwości odziedziczone. Na przykład "toString" in {} zwraca true, a Object.hasOwn({}, "toString") zwraca false.

Działa także na obiektach bez prototypu (utworzonych przez Object.create(null)), na których metoda hasOwnProperty w ogóle nie istnieje.

Składnia

#
Składnia
Object.hasOwn(obj, prop)

Parametry

#
  • obj

    obiekt

    Sprawdzany obiekt.
  • prop

    napis lub symbol

    Nazwa właściwości.

Obsługa przeglądarek

#

Szeroko dostępne

Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.

  • Chrome
  • Edge
  • Firefox
  • Safari

Dobre praktyki

#
  • Sprawdzanie przez if (obj.pole) nie odróżni braku pola od wartości 0, "" czy undefined. Object.hasOwn() to robi.
  • W nowym kodzie zastępuj hasOwnProperty metodą Object.hasOwn().

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.