TypeScript 3.7 ahora admite el operador de encadenamiento opcional . Por lo tanto, puede escribir código como:
const value = a?.b?.c;
Es decir, puede usar este operador para acceder a las propiedades de un objeto, donde el objeto en sí puede estar nullo undefined. Ahora, lo que me gustaría hacer es básicamente lo mismo, pero los nombres de las propiedades son dinámicos:
const value = a?[b]?.c;
Sin embargo, allí recibo un error de sintaxis:
error TS1005: ':' esperado.
¿Qué estoy haciendo mal aquí? ¿Es esto posible?
PD: La propuesta parece implicar que esto no es posible 😕 (pero tal vez entiendo mal los ejemplos de sintaxis).
javascript
typescript
optional-chaining
Golo Roden
fuente
fuente

?.Respuestas:
Al acceder a una propiedad utilizando la notación de corchetes y el encadenamiento opcional, también debe tener un punto además de los corchetes:
Esta es la sintaxis que fue adoptada por la propuesta TC39 , porque de lo contrario es difícil para el analizador averiguar si esto
?es parte de una expresión ternaria o parte del encadenamiento opcional.fuente
: