Jak sprawdzić, czy obiekt ma klucz w JavaScript? [duplikat]

To pytanie ma już odpowiedź tutaj:

Co należy zrobić?
if (myObj['key'] == undefined)

Lub

if (myObj['key'] == null)

Lub

if (myObj['key'])
Author: Zanon, 2009-01-18

2 answers

Spróbuj JavaScript w operatorze.

if ('key' in myObj)

I odwrotnie.

if (!('key' in myObj))

Ostrożnie! operator in dopasowuje wszystkie klucze obiektu, łącznie z tymi w łańcuchu prototypów obiektu.

Użyj myObj.hasOwnProperty('key'), aby sprawdzić własne klucze obiektu i zwróci true tylko jeśli key jest dostępne bezpośrednio na myObj:

myObj.hasOwnProperty('key')

Jeśli nie masz konkretnego powodu, aby użyć operatora in, użycie myObj.hasOwnProperty('key') daje wynik, który większość kodu szuka za.

 1305
Author: ForYourOwnGood,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-24 17:36:03

Powinieneś użyć hasOwnProperty. Na przykład:

myObj.hasOwnProperty('myKey');
 350
Author: typeoneerror,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-29 17:19:05