Object in

function isAdult(user){
    if(user.age < 20){
        return false;
    }
    return true;
}

const Mike = {
    name : "Mike",
    age : 30,
};

const Jane = {
    name : "Jane",
};

const MikeisAdult = isAdult(Mike);
console.log(MikeisAdult); // true 

const JaneisAdult = isAdult(Jane);
console.log(JaneisAdult); // true

true로 나오는 이유 - 나이가 없어서 undefind / function이 false가 되어 항상 true로 반환


그렇기 때문에 위 함수는

function isAdult(user){
    if(!('age' in user) || user.age < 20){
        return false;
    }
    return true;
};

const John = {
    name : "John",
};

const JohnisAdult = isAdult(John);
console.log(JohnisAdult); // false


예문


const Nike = {
    name : "Nike",
    age : 30,
};

for(x in Nike){
    console.log(x); // 키 / 1. name / 3. age
    console.log(Nike[x]); // 값 / 2. Nike / 4. 30 
}

x는 Nike가 가지고 있는 키를 의미 어떤 단어가 와도 상관 없음
1, 2, 3, 4 순서대로 반환한다

댓글남기기