Estoy tratando de actualizar una biblioteca que obtuve de GitHub y hay una condición extraña que nunca antes había visto, ¿alguien puede ayudarme a entender qué es esto? Según tengo entendido, _c = _b === null significa que _c obtiene un valor de verdadero o falso... y luego _c !== indefinido siempre será verdadero... ¿me estoy perdiendo algo?
const _b = { isWrappable: true, insertedTag: false }; let _c; const status = (_c = _b === null || _b === undefined ? undefined : _b.isWrappable) !== null && _c !== undefined ? _c : false; console.log(status); después de que el status de esta línea sea true
Ahora, ¿cómo puedo cambiar esta línea para evitar una Unexpected assignment within ConditionalExpression. porque todo lo que probé me da false , por ejemplo:
const _b = { isWrappable: true, insertedTag: false }; const _c = _b === null; const test = (_c || _b === undefined ? undefined : _b.isWrappable) !== null && _c !== undefined ? _c : false; console.log(test);Gracias
Lo resolví :) en mi investigación encontré el operador coalescente nulo (??) y resolví mi problema Entonces la respuesta es
const _b = { isWrappable: true, insertedTag: false }; const status = _b?.isWrappable ?? false; console.log(status);El operador de encadenamiento opcional y el operador coalescente nulo resolvieron ese problema.