참같은 값 (truthy)
- 불리언 속성에서 TRUE로 출력( {}, [], 양수, 음수, 문자열, new Date(), PI, Infinity 등)
- FALSE로 출력 되는 속성(0, -0, 빈문자열"", null, undefined, NaN)을 제외한 값들
if (true)
if ({})
if ([])
if (42)
if ("0")
if ("false")
if (new Date())
if (-42)
if (12n)
if (3.14)
if (-3.14)
if (Infinity)
if (-Infinity)
거짓 같은 값(falsy)
- 불리언 속성에서 FALSE로 출력 (0, -0, 빈문자열"", null, undefined, NaN)
예제
- 객체를 매개변수로 받아서 받은 객체에서 특정 프로퍼티를 반환하는 함수 생성
만약 person 값을 undefined로 주게된다면?
Cannot read properties of undefined 에러가 뜬다
if 조건문에 ===로 예외처리를 해주면 에러는 사라진다.
다만 true가 될 수 있는 조건 모두에 연산자를 만들어 줘야해서 굉장히 복잡하고 길어질 수 있다.
그럴 때 falsy 속성을 이용해서 간단하게 하기
조건문에 !(not) 연산자를 사용해준다.
person이 false가 될 수 있는 모든 조건들에 대해 false로 판단해준다.
참고 :
- https://developer.mozilla.org/ko/docs/Glossary/Truthy
- 한입리액트
반응형
'개발 > Javascript' 카테고리의 다른 글
[Javascript] Spread 연산자(Spread syntax); 전개구문 (0) | 2022.06.11 |
---|---|
[Javascript] 비구조화할당(destructuring assignment); 구조분해할당 (0) | 2022.06.10 |
[Javascript] 단락(short-circuit) 평가 (0) | 2022.06.09 |
[Javascript] 삼항연산자 Conditional (ternary) operator (0) | 2022.06.08 |
[Javascript] 배열 내장함수 (0) | 2022.06.05 |