|| : OR 연산자 (MDN)
Logical OR
논리 OR 계산용
둘 중 하나이상 참이면 👉 참
- true || false ⇒ true
- true || true ⇒ true
- false || false ⇒ false
?? : null 병합 연산자 (MDN)
왼쪽이 null 또는 undefined 이면 오른쪽을 반환, 아니면 왼쪽값 사용
UseCase
form 의 default 값을 지정하려한다
store 에 저장해둔 값이 있다면 사용하고,
없다면 기본값을 수동으로 지정하려 한다.
[Incorrect]
defaultValues: {
setBillingAddressAsShippingAddress: paymentForm?.setBillingAddressAsShippingAddress || true,
isManual: paymentForm?.isManual || false,
useOfTerms: paymentForm?.useOfTerms || false,
marketing: paymentForm?.marketing || false,
},
위 처럼 작성한 경우 OR 논리 연산을 하게 된다.
paymentForm.setBillingAddressAsShippingAddress 값이 false 인데, 뒤의 true 논리 연산에 의해 -> true 로 덮여짐
[Correct]
defaultValues: {
setBillingAddressAsShippingAddress: paymentForm?.setBillingAddressAsShippingAddress ?? true,
isManual: paymentForm?.isManual ?? false,
useOfTerms: paymentForm?.useOfTerms ?? false,
marketing: paymentForm?.marketing ?? false,
},
store 에 저장해둔 값이 있다면 사용하고(왼쪽값 리턴),
없다면 기본값을 수동으로 지정하려 한다(오른쪽 값 리턴).
'programming > Javascript' 카테고리의 다른 글
Fetch try-catch : 400 은 response, 401은 catch error 로 빠진다면? (1) | 2024.06.12 |
---|---|
[JS] List of Json 객체로 이루어진 리스트에서 최솟값/최댓값 또는 해당 객체의 index 찾기 (1) | 2022.10.15 |
Node-Sequelize-Mysql (4) Model 생성 & migrations 파일 생성 (0) | 2022.07.06 |
Node-Sequelize-Mysql (3) Mysql 로컬 db docker 띄우기 (0) | 2022.07.06 |
Node-Sequelize-Mysql (2) Sequelize 설치 (0) | 2022.07.06 |