Sans point, le moteur JavaScript va interpréter cela comme un ternaire avec : manquant.
Pour TypeScript, la transpilation ne sera fera pas non plus et lèvera une erreur similaire.
Le point est donc essentiel 👌
Exemple en JavaScript sur Firefox 75
letmember=teamYounup?[0];// 'SyntaxError: missing : in conditional expression'
EDIT :
Merci @brack0
pour ta réponse qui a été publiée un peu juste avant moi 👌
Malheureusement on ne peut pas se passer du ?., même pour les tableaux.
La principale raison qui justifie ce choix est la complexité d'interprétation du chainage optionnel vs l'opérateur ternaire.
Par exemple, ces deux expressions deviennent plus difficile à "parser" en l'absence du point dans la syntaxe.
obj?[expr].filter(fun):0func?(x-2)+3:1
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Merci pour le post en français de surcroît 👍
Le point est pas une typo dans le dernier exemple si
teamYounup
est un tableau?vs
Sans point, le moteur JavaScript va interpréter cela comme un ternaire avec : manquant.
Pour TypeScript, la transpilation ne sera fera pas non plus et lèvera une erreur similaire.
Le point est donc essentiel 👌
Exemple en JavaScript sur Firefox 75
EDIT :
Merci @brack0 pour ta réponse qui a été publiée un peu juste avant moi 👌
Ça fait sens, c'est plus jolie sans point, enfin ça se discute, mais ça fait sens.
Merci pour les explications @necraidan et @brack0 👍
Malheureusement on ne peut pas se passer du
?.
, même pour les tableaux.La principale raison qui justifie ce choix est la complexité d'interprétation du chainage optionnel vs l'opérateur ternaire.
Par exemple, ces deux expressions deviennent plus difficile à "parser" en l'absence du point dans la syntaxe.