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

[ JS 데이터 ] 참과 거짓 (Truthy & Falsy)

by Hwanii_ 2023. 10. 31.
728x90
//  [ JS 데이터 ] 참과 거짓 (Truthy & Falsy)

if (true) { //  참 !
    console.log('참 !')
}

if (false) {    //  조건이 false 이므로, if 문 내부 로직을 통과 한다.
    console.log('Test !')
}

if (123) {  //  숫자 123은 true 이다.
    console.log('참 !')
}

if (0) {    //  숫자 0은 false 이다.
    console.log('Test !')
}

if ('0') {  //  문자열 데이터 '0'은 true 이다.
    console.log('참 !')
}

//  정리하자면, if 문의 조건으로 들어가는 거의 대부분의 데이터는 참 == true 에 해당 된다.
//  이때, 자바스크립트의 데이터 중에서 거짓 == false 에 해당 되는 몇몇의 데이터가 존재 한다.
//  boolean 데이터 false 와 숫자형 데이터 0이 대표적인 거짓에 해당되는 데이터 이다.

//  그밖에,
//  null 과 undefined, 그리고 NaN, 그리고 '' (빈 문자), -0 도
//  거짓에 해당되는 데이터 이다.

if (null) { //  null 은 false 이다.
    console.log('Test !')
}

if (undefined) {    //  undefined 는 false 이다.
    console.log('Test !')
}

if (NaN) {  //  NaN 은 false 이다.
    console.log('Test !')
}

if ('') {   //  '' (빈 문자) 는 false 이다.
    console.log('Test !')
}

if (-0) {   //  -0 은 false 이다.
    console.log('Test !')
}

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

const fruits = ['Apple', 'Banana']

if (fruits) {   //  true (fruits는 배열 데이터 인데, 조건문에 넣으면 참이 된다)
    console.log('요소 있음 !')
}

const testArr = []  //  비어있는 배열 데이터 생성 하기.

if (testArr) {  //  true (testArr은 배열 데이터 이다. 하지만 요소가 비어 있는데, true가 나오는 상황)
    console.log('요소 있음 !')
}

//  문제를 해결 하기 위해서 아래와 같이 조건문을 작성 할 수 있다.

if (testArr.length) {   //  0 => false (데이터가 없기 때문에 배열의 길이는 0이므로 false 가 된다)
    console.log('testArr.length !')
}

//  이런식으로 배열 데이터를 if 문의 참 / 거짓 조건문으로 활용 할 수 있다.

//  만약에 testArr 배열 데이터에 요소가 생기면, 배열의 길이는 1 이상이 될테니까 true 가 된다.

 

반응형