Array.prototype.at() es actualmente una propuesta de etapa 3 , intenté configurar "lib": ["ESNext"] en mi tsconfig.json , pero aún obtuve:
Property 'at' does not exist on type 'number[]'. Entonces, ¿cómo usar Array.prototype.at() en TypeScript?
Y para generalizar, ¿cómo usar las funciones de la etapa 3 en TypeScript?
La versión typescript de PS es v4.3.5 .
Actualmente, la compatibilidad con Array.prototype.at() no ha aterrizado en TypeScript. Para usarlo ahora, necesitamos instalar @types/proposal-relative-indexing-method e incluir el polyfill correspondiente.
Los mismos pasos se aplican a las otras características de la etapa 3 si aún no son compatibles con TypeScript.
No es posible utilizar las funciones de la Etapa 3 en Typescript. No todo. Generalmente depende de la función. Algo como Encadenamiento opcional requería una actualización de sintaxis de Typescript.
Acerca de Array.prototype.at , el archivo lib.d.ts para ESNext probablemente no esté actualizado para dicha función.
Debido a esto, debe crear un nuevo archivo .d.ts en su proyecto y usar el aumento de módulos para extender la declaración de Array y agregar las interfaces correctas para Array.prototype.at . Puede mirar aquí para ver varios ejemplos de cómo se lib.es<year>.d.ts .
por ejemplo https://github.com/microsoft/TypeScript/blob/main/lib/lib.es2019.array.d.ts#L58
Por supuesto, la creación de una nueva función .d.ts no rellenará su código para agregar Array.prototype.at si no está disponible en su entorno. Aún necesitará un sistema polyfill, como Babel con core-js.