Il trap `isExtensible()` del proxy deve restituire un valore booleano strettamente conforme allo stato di estensibilità reale dell'oggetto target originale (`Reflect.isExtensible(target)`).
TYPEERROR_PROXY_ISEXTENSIBLE_MISMATCH
→
La specifica dei Proxy ECMAScript impone l'invariante per cui se il trap `preventExtensions()` restituisce `true`, l'oggetto target sottostante deve essere stato reso non estensibile tramite `Object.preventExtensions(target)`.
TYPEERROR_PROXY_PREVENT_EXTENSIONS
→
In strict mode, l'assegnazione a una proprietà intercettata da un `Proxy` richiede che il trap `set()` restituisca esplicitamente `true`; restituire `false` o `undefined` genera un errore.
TYPEERROR_PROXY_FALSISH
→
Un metodo statico o del prototipo invocato tramite `.call()` o `.apply()` (es. `Array.prototype.map.call(null, fn)`) riceve come contesto un valore `null` o `undefined` incompatibile.
TYPEERROR_MAP_NULL_OR_UNDEFINED
→
In strict mode (`'use strict'`), l'assegnazione di una nuova proprietà a un oggetto sigillato con `Object.preventExtensions()`, `Object.seal()` o `Object.freeze()` scatena un'eccezione.
TYPEERROR_NOT_EXTENSIBLE
→
I valori primitivi `Symbol` non possono essere convertiti implicitamente o esplicitamente in numeri (`+sym` o `Number(sym)` generano un errore fatale del runtime).
TYPEERROR_SYMBOL_TO_NUMBER
→
L'interpolazione di stringhe `` `Valore: ${sym}` `` o la concatenazione `'id: ' + sym` fallisce; i simboli richiedono la conversione esplicita tramite `String(sym)` o `sym.description`.
TYPEERROR_SYMBOL_TO_STRING
→
Il runtime tenta di convertire un oggetto in una stringa o numero (es. concatenazione o operazione matematica) ma l'oggetto ha metodi `valueOf` e `toString` sovrascritti che non restituiscono primitivi o `[Symbol.toPrimitive]` errato.
TYPEERROR_OBJECT_TO_PRIMITIVE
→