Esta excepción de JavaScript desaprobó el uso de llamadas o argumentos solo en modo estricto. Ocurre si se utiliza alguna de las propiedades Function.caller o Function.arguments , las cuales se deprecian.
Mensaje:
TypeError: 'arguments', 'callee' and 'caller' are restricted function properties and cannot be accessed in this context (Edge) Warning: ReferenceError: deprecated caller usage (Firefox) Warning: ReferenceError: deprecated arguments usage (Firefox) TypeError: 'callee' and 'caller' cannot be accessed in strict mode. (Safari)
Tipo de error:
This is a strict-mode warning that a ReferenceError occurred. JavaScript execution won't be halted.
Causa del Error: En el código se utilizan las propiedades Function.caller o Function.arguments, las cuales están depreciadas.
Ejemplo 1: en este ejemplo, se utiliza la propiedad de la persona que llama, por lo que se ha producido el error.
HTML
<script> 'use strict'; function GFG_Fun() { return GFG_Fun.caller; // Error here } GFG_Fun(); </script>
Producción:
TypeError: 'arguments', 'callee' and 'caller' are restricted function properties and cannot be accessed in this context
Ejemplo 2: en este ejemplo, se usa la propiedad arguments, por lo que se ha producido el error.
HTML
<script> 'use strict'; function gfg(n) { return gfg.arguments[0]; // Error here } gfg(2); </script>
Producción:
TypeError: 'arguments', 'callee' and 'caller' are restricted function properties and cannot be accessed in this context
Publicación traducida automáticamente
Artículo escrito por PranchalKatiyar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA