JavaScript TypeError: «X» no es un objeto no nulo

Esta excepción de JavaScript no es un objeto no nulo que ocurre si un objeto no se pasa donde se esperaba. Entonces se pasa el nulo que no es un objeto y no funcionará.

Mensaje:

TypeError: Invalid descriptor for property {x} (Edge)
TypeError: "x" is not a non-null object (Firefox)
TypeError: Property description must be an object: "x" (Chrome)
TypeError: Invalid value used in weak set (Chrome)

Tipo de error:

TypeError

Causa del error: en alguna parte del código se espera un objeto y no se pasa. Automáticamente se pasa nulo que no es un objeto y no funcionará. El usuario debe proporcionar un objeto adecuado en el contexto dado.

Ejemplo 1: en este ejemplo, se pasa 1 en el método dado, que es un objeto no nulo, por lo que se produjo el error.

HTML

<!DOCTYPE html>
<html>
<head>
    <title>Type Error</title>
</head>
<body>
    <script>
      // 1 is non-null object
      Object.defineProperty({}, 'prop_name', 1); 
    </script>
</body>
</html>

Salida (en la consola Chrome):

TypeError: Property description must be an object: 1

Ejemplo 2: En este ejemplo, el objeto WeakSet almacena claves de objeto. No se aceptan otros tipos de claves. Entonces se ha producido el error.

HTML

<!DOCTYPE html>
<html>
<head>
    <title>Type Error</title>
</head>
<body>
    <script>
        var var1 = new WeakSet(); 
        var1.add('GFG');
    </script>
</body>
</html>

Salida (en la consola Chrome):

TypeError: Invalid value used in weak set

Publicación traducida automáticamente

Artículo escrito por PranchalKatiyar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *