본문 바로가기
프로그래밍언어/JavaScript

[Javascript] Truthy & Falsy

by Yikanghee 2022. 4. 4.
  • 참 같은 값, 거짓 같은 값
 let a = "";

if(a) {
	console.log("TRUE");
	}else {
	console.log("FALSE");
}
// FALSE

 let b = "안녕하세요";

if(b) {
	console.log("TRUE");
	}else {
	console.log("FALSE");
}
// TRUE

 let b = undefined;

if(b) {
	console.log("TRUE");
	}else {
	console.log("FALSE");
}
// FALSE

 let b = [];

if(b) {
	console.log("TRUE");
	}else {
	console.log("FALSE");
}
// TRUE

-> 자바 스크립트에서 본인의 기준에 따라 참 거짓을 구분해줌
-> 이렇듯 참이 아니여도 참으로 평가하는 값을 Truthy
-> 거짓이 아니여도 거짓으로 평가하는 값을 Falsy라고 함
  • Truthy
    • “false”
    • Infinity
    • []
  • Falsy
    • null
    • undefined
    • 0
    • -0
    • NaN
    • “”
const getName = {person} => {
	return person.name;
}

let person = { name : "Tom" };
const name = getName{person};
console.log(name);
// Tom

-------------------------------------

const getName = {person} => {
	
	if (person === undefined) {
		return "객체가 아닙니다";
}
	
	return person.name;
}

let person;
const name = getName{person};
console.log(name);
// 객체가 아닙니다
//위와 같이  undefiend를 사용할 때는 
//조건문을 지정해주어야 오류가 안생김

-------------------------------------

const getName = {person} => {
	
	if (person === undefined || person === null) {
		return "객체가 아닙니다";
}
	
	return person.name;
}

let person = null ;
const name = getName{person};
console.log(name);
// 객체가 아닙니다
//위와 같이  null을 사용할 때는 
//조건문을 지정해주어야 오류가 안생김

-------------------------------------

const getName = {person} => {
	
	if (!person) {
		return "객체가 아닙니다";
}
	
	return person.name;
}

let person = null ;
const name = getName{person};
console.log(name);
// 객체가 아닙니다
//모든 상황에서 조건문을 해주기 어렵기 때문에
//객체에 !을 사용하여 처리해줌

댓글