undefined
null
0
-0
NaN
false
''
""
위에 명시된 값들을 제외한 모든 값들은 true이다.
'0' (0을 포함하는 문자열)
'false' (false를 포함하는 문자열)
[] (빈 배열)
{} (빈 객체)
function () {} (빈 함수)
const getName = (person) => {
return person.name;
}
let person = {name : "이정환"};
const name = getName(person);
//여기서의 name의 값은 person.name으로 "이정환"이다.
console.log(name) // "이정환"
-> 만약 여기서 person의 값을 undefined로 준다면?
const getName = (person) => {
return person.name;
}
let person;
// person은 객체가 아니기 떄문에 person.name이라는 값이 없다.
const name = getName(person);
console.log(name) //error가 뜬다.
-> 그렇다면 조건문을 통해서 전달받은 파라미터가 객체인지 아닌지를 구별해주어야 한다.
const getName = (person) => {
if(!person){
//undefined는 false 값이다.
// false에다가 not인 !를 붙여주면 true값이 된다.
return "객체가 아닙니다.";
}
return person.name;
}
let person;
// 만약 person에 undefined나 null의 값을 할당해준 경우
const name = getName(person);
console.log(name)