헉!!/javascript
[Javascript] Truthy & Falsy
권태성
2024. 7. 20. 23:58
Playwright를 사용하기 위해 짧게나마 notion에 정리내용을 블로그에 옮김
- Truthy : 참 같은 값
- Falsy : 거짓 같은 값
//조건 식에 빈 문자열 a를 넣으니 false로 인식해서 FALSE가 출력됨
let a = "";
if (a) {
console.log("TRUE");
} else {
console.log("FALSE");
}
//조건 식에 비어있지 않은 문자열 a를 넣으니 true로 인식해서 TRUE가 출력됨
let a = "string";
if (a) {
console.log("TRUE");
} else {
console.log("FALSE");
}
이 처럼 Javascript에서는 조건문에 boolean 형식이 아닌 변수를 넣어도 참이나 거짓으로 인식되는 속성이 있음.
실제로 boolean이 아니라도 참으로 인식하는 형태
- 객체 리터럴
- 숫자형
- 문자열
등 초기화 된 값을 넣으면 참으로 인식함 이를 Truthy라고 함.
반대로 null, undefined, -0, NaN, 공백 값에는 거짓으로 인식하고 이를 Falsy라고 함.
//일반적인 객체를 인자로 받아 return 하는 함수 활용
const getName = (person) => {
return person.name;
};
let person = { name: "김테스트" };
const name = getName(person);
console.log(name);
/*
인자로 받은 객체가 undefined 일 때 예외처리
이 방식은 undefined에 대해서만 예외 처리가 되어있으므로
null 등에 대해서는 오류가 발생함
*/
const getName = (person) => {
if (person === undefined) {
return "객체가 아닙니다";
}
return person.name;
};
let person;
const name = getName(person);
console.log(name);
/*
위 예외 처리를 Falthy 속성을 이용해서 한 번에 해결하는 방법으로
객체에 ! not 연산자를 붙여서 객체임을 확인
*/
const getName = (person) => {
if (!person) {
return "객체가 아닙니다";
}
return person.name;
};
let person;
const name = getName(person);
console.log(name);
728x90