En JavaScript, hay cuatro formas de verificar si un objeto O tiene propiedad X:
1. "X" en o . El operador in se puede usar para verificar si hay x en el objeto o. x puede ser el objeto en sí (propiedad propia) o heredado del objeto prototipo; X puede ser una propiedad enumerable o una propiedad no enumerable.
2. ox. Puede confirmar si X existe accediendo a la declaración de buey y determinando si el resultado no está definido. Su alcance de acción es el mismo que el del operador en. A diferencia del operador In, si el valor de una propiedad x se declara explícitamente en el objeto o no está definido, entonces el resultado de la operación "x" en o será verdadero, y el resultado de buey estará sin definir.
3.HasownProperty () . La operación O.HasownProperty ("X") se utiliza para determinar si el objeto O en sí tiene una propiedad X. La propiedad heredada del objeto prototipo no se considerará. La operación de ISOWNProperty () verifica tanto la propiedad enumerable como la propiedad no enumerable.
4.Propertyisenumerable () . La operación O.Propertyisenumerable ("x") solo verifica la propiedad enumerable propiedad del objeto O en sí, que es un subconjunto de HasownProperty ().
Según la información anterior, la siguiente figura se resume de la siguiente manera: