Esta excepción de JavaScript invocada en destino (u objeto) incompatible ” ocurre si se llama a una función (en un objeto dado) con un ‘esto’ correspondiente a un tipo diferente al tipo esperado por la función.
Mensaje:
TypeError: 'this' is not a Set object (EdgE) TypeError: Function.prototype.toString called on incompatible object (Firefox) TypeError: Function.prototype.bind called on incompatible target (Firefox) TypeError: Method Set.prototype.add called on incompatible receiver undefined (Chrome) TypeError: Bind must be called on a function (Chrome)
Tipo de error:
TypeError
Causa del error: en algún lugar de las llamadas a funciones, se llama a la función (en un objeto dado) con un ‘esto’ que no corresponde al tipo esperado por la función.
Ejemplo 1: En este ejemplo, GFG_Set.add es una función, pero GFG_Set no se captura como ‘esto’.
HTML
<script> var GFG_Set = new Set; ['Geek', 'GFG'].forEach(GFG_Set.add); </script>
Salida (en consola):
TypeError: 'this' is not a Set object
Ejemplo 2: En este ejemplo, GFG_Fun.bind es una función, pero GFG_Fun no se captura como ‘esto’.
HTML
<script> var GFG_Fun = function () { console.log(this); }; ['Geek', 'GFG'].forEach(GFG_Fun.bind); </script>
Salida (en consola):
TypeError: 'this' is not a Set object
Publicación traducida automáticamente
Artículo escrito por PranchalKatiyar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA