strip_tags remove only from etiquetas eliminar con clean javascript typescript optional chaining

remove - string to html javascript



Operador de encadenamiento opcional en Typescript (2)

Al momento de escribir, TypeScript no es compatible con el operador de encadenamiento opcional. Vea la discusión en el rastreador de problemas de TypeScript: https://github.com/Microsoft/TypeScript/issues/16

Como advertencia, la semántica de este operador todavía está muy en movimiento, por lo que TypeScript no lo ha agregado todavía. El código escrito hoy contra el plugin de Babel puede cambiar el comportamiento en el futuro sin previo aviso, lo que lleva a errores difíciles. Por lo general, recomiendo a las personas que no empiecen a usar la sintaxis cuyo comportamiento aún no esté bien definido.

En javascript, el complemento de babel admite el operador de encadenamiento opcional.

Pero no puedo encontrar cómo hacer esto en Typescript. ¿Alguna idea?


Aunque TypeScript y la comunidad están a favor de este operador, hasta que TC39 solidifique la propuesta actual ( que en el momento de escribir este artículo se encuentra en la stage 1 ), tendremos que utilizar alternativas.

Hay una alternativa que se acerca al encadenamiento opcional sin sacrificar las herramientas de desarrollo : https://github.com/rimeto/ts-optchain

Este artículo narra lo que los creadores pudieron lograr al tratar de reflejar el operador de encadenamiento nativo:

  1. Use una sintaxis que refleje estrechamente el acceso a las propiedades encadenadas
  2. Ofrezca una expresión concisa de un valor predeterminado cuando falla el recorrido
  3. Habilitar las herramientas de finalización de código IDE y la validación de la ruta de compilación

En la práctica se ve así:

import { oc } from ''ts-optchain''; // Each of the following pairs are equivalent in result. oc(x).a(); x && x.a; oc(x).b.d(''Default''); x && x.b && x.b.d || ''Default''; oc(x).c[100].u.v(1234); x && x.c && x.c[100] && x.c[100].u && x.c[100].u.v || 1234;

Tenga en cuenta que las alternativas como esta probablemente no serán necesarias una vez que TypeScript adopte la propuesta.

Además, ¡un gran agradecimiento a por todo el trabajo que está realizando para recomendar a este operador que participe en TC39!