if('string'.length > 0){
// 솰라 솰라
}
// Truthy로 치면 같은 의미
if('string'.length){
// 솰라 솰라
}
if(!isNaN(10)){
// 솰라 솰라
}
// Truthy로 치면 같은 의미
if(10){
// 솰라 솰라
}
if(boolean === true){
// 솰라 솰라
}
// Truthy로 치면 같은 의미
if(boolean){
// 솰라 솰라
}
- if문 안의 condition에 값이 있기때문에 참으로 형 변환 된다.
Truthy한 값
- 괄호안의 모든 값이 true로 평가되고 if문을 실행했을때 실행이 된다.
- 빈 객체인데 true로 실행이 된다.
- 빈 배열이여도 true로 실행이 된다.
- 괄호안의 모든값이 참으로 평가된다.
Falsy한 값
- 괄호안의 모든값이 false로 평가되고 if문을 실행했을때 실행되지 않는다.
function printName(name){
if(name === undefined || name === null){
return '사람이 없네요'
}
return '안녕하세요' + name + '님';
}
/** 인자에 아무것도 넘기지 않으면, */
console.log(printName());
// 사람이 없네요
function printName(name){
if(name === null){
return '사람이 없네요'
}
return '안녕하세요' + name + '님';
}
/** 인자에 아무것도 넘기지 않으면, */
console.log(printName());
// 안녕하세요 undefined님
/** 안전한 코드 ver */
function printName(name){
**/** truthy로 값이 귀결 된다. */**
if(name){
return '사람이 없네요'
}
return '안녕하세요' + name + '님';
}
/** 이상 적인 안전한 코드 ver */
function printName(name){
**/** Falsy로 값이 귀결 된다. */**
if(!name){
return '사람이 없네요'
}
return '안녕하세요' + name + '님';
}
- if문 조건에
name === undefined
를 빼면 if문이 안의 코드가 실행된다!
- 안전한 코드 버전에서는 if(name) ⇒ name이 truty로 평가 되기때문에 어떤 값이라도 들어오지 않으면,