los documentos dicen que el operador nulo (??) es la quinta precedencia más baja en operación.
Estoy tratando de usarlos de esta manera.
const accountNumber = optionsA?.accountNumber ?? optionB?.accountNo ?? '7202705382';que espero que signifique
asigne el número de accountNumber en orden descendente de precedencia:
optionsA?.accountNumberoptionB?.accountNo'7202705382'Me preocupa porque quiero asegurarme de que el orden sea de izquierda a derecha y que los operadores elvis en los objetos de los dos primeros elementos no interfieran con las valoraciones o precedencia de los operadores nulos.
¿Es esta la forma más apropiada de hacer esta tarea para mayor claridad y concisión en Javascript?
Encuentro útil pensar en ello en términos normales o incluso de jerga.
Toc toc , optionsA?.accountNumber ... ? ¿Está ahí? ¿Eres algo que no es nulo...? Si es así, ¡ahora accountNumber !
Si no, vamos a llamar a la puerta de optionB?.accountNo . Si optionB?.accountNo responde a la puerta (si no es nula), entonces IT ahora es accountNumber
De lo contrario, debes conformarte con el '7202705382'
Entonces, ¿está bien? Sí, funcionará. Pero...
Habiendo dicho todo eso (y esto se basa totalmente en mi experiencia al ver el código de otras personas a lo largo de los años en bibliotecas y otras bases de código donde he trabajado), recomiendo enfáticamente no hacer esto. Puede hacer que la legibilidad sea SÚPER difícil. En mi opinión, es similar a los ternarios anidados , que no te convertirán en el desarrollador más querido del mundo.