본문 바로가기
자바스크립트 (JavaScript)/이론

[ JS 데이터 ] 원시형 - Boolean, null, undefined

by Hwanii_ 2023. 10. 30.
728x90
//  [ JS 데이터 ] 원시형 - Boolean, null, undefined

//  Boolean (불리언)

const a = true
const b = false

if (b) {    //  false
    console.log('if : Hello')
} else {    //  !(false)
    console.log('else : Hello')
}

//  =========================================================================

let age = null  //  null => 명시적이다. == 존재 하지 않다. / 값이 비어 있다. / 값을 알 수 없다.

console.log(age)    //  null

setTimeout(function () {
    age = 28
    console.log(age)    //  1초 후에 null 에서 28 으로 변경
}, 1000)

//  =========================================================================

let test = undefined

console.log(test)   //  undefined => 암시적이다. == 직접 값을 할당 하지 않아도 이미 그 값은 존재 한다.

setTimeout(function () {
    age = 96
    console.log(age)    //  1초 후에 undefined 에서 96 으로 변경
}, 1000)

//  =========================================================================

const user = {  //  { } 은 객체 데이터.
    name: 'Hwanii',
    age: 28
}

console.log('user.name : ' + user.name)
console.log('use.age : ' + user.age)

console.log('user.email : ' + user.email) //  undefined
console.log('user.abc : ' + user.abc)  //  undefined

//  user 객체에는 email 과 abc 라는 속성이 없다.
//  하지만, console.log() 의 인자로 넣으면, 값이 없는데도 출력을 한다. => undefined
//  속성이 없는데도 속성을 조회 하려고 시도 해서,
//  암시적으로 값이 할당 되지 않는 상태를 의미하는 undefined 를 출력 한다.

//  의도적으로 어떤 특정한 속성에 값이 없는것을 출력시키기 위해서는 null 을 명시해주도록 한다. => 명시적 표기.

const user2 = { //  예시를 통해 user2 객체 생성
    email: null,
    abc: null
}

console.log('user2.email : ' + user2.email) //  null
console.log('user2.abc : ' + user2.abc) //  null

//  [ 정리 ]
//  어떤 변수의 값이 정확 하게 존재 하지 않는 것을 명시적 으로 표현 => null로 명시 하기.
//  어떤 변수의 값이 아직 할당 되지 않은 상태 => 암시적 => undefined 로 자동 표기.

 

반응형