assemblee-virtuelle / semapps

A toolbox to create semantic web applications
https://semapps.org
Apache License 2.0
88 stars 9 forks source link

Utiliser le chaînage optionel partout dans le code frontend #639

Open srosset81 opened 3 years ago

srosset81 commented 3 years ago

https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators/Optional_chaining

Permet de remplacer ça :

record => record && record['pair:hostedIn'] && record['pair:hostedIn']['pair:hasPostalAddress'] && record['pair:hostedIn']['pair:hasPostalAddress']['pair:longitude']

Par ça:

record => record?.['pair:hostedIn']?.['pair:hasPostalAddress']?.['pair:longitude']

Pas de soucis de version de navigateur côté frontend, car Babel s'occupe de la transpilation. Par contre il faudra attendre avant d'utiliser ça côté middleware, car cette option n'est intégré dans NodeJS que depuis la v14, qui est sortie il y a moins d'une année. Ou sinon il faudra obliger les utilisateurs à utilsier la v14.

simonLouvet commented 3 years ago

++, t'es sur que ca fonctionne sur les properties obtenue par key ( record?.[key] ) et non par chaînage classique ( record?.key ) ?

srosset81 commented 3 years ago

Oui ça fonctionne pour les deux.

fluidlog commented 2 years ago

Ca peut m'intéresser, je me l'affecte, voir si on peut le faire aussi côté middleware, depuis le temps, nous sommes en Node JS 16 je crois...