JaveScript

JaveScript_TLI-6_[Truthy & Falsey, 삼항 연산자]

SanL 2023. 5. 13. 01:51

JavaScript


Truthy & Falsey

: 자바스크립트에는 boolean속성을 넣지 않아도 참과 거짓 속성을 반환하는 경우가 있음
이는, 자바스크립트가 자신만의 어떠한 특정한 기준으로 값을 참과 거짓으로 분류하는 것
(Truthy & Falsey는 조건문을 이용하거나 특정 조건으로 식을 실행할 때 유용함)

Truthy

 let a = //[], 23(숫자),"0"(문자열),"false"(문자열),Infinity
//전부 True를 반환함
 if(a){
    console.log("True");
 } else{
    console.log("False");
 }

Falsey

 let b = //null,undefined,0,-0,"",NaN
 //전부 Falsey를 반환
 if(a){
    console.log("True");
 } else{
    console.log("False");
 }

삼항 연산자

  • 형태
    : 가장 처음 조건문을 적어주고 ?을 넣어줌 / 앞에가 조건문인 것을 알려주기 위해
    이후 참 일때 수행할 식, 거짓일 때 수행할 식을 적으면된다.
let a =3;

if (a>=0){
    console.log("양수");
} else {
    console.log("음수");
}

//삼항 연산자
a >= 0 ? console.log("양수") : console.log("음수"); // "양수"
//기존의 5줄 코드를 한줄로 줄일 수 있음

//삼항 연산자의 참과 거짓을 값으로 받기
const num = a >= 0 ? "양수" : "음수";
console.log(num); // "양수"

//삼항 연산자를 truely , falsely로 받기
const result = a ? true : false;
console.log(result); // true 반환

//삼항연산자를 중첩해서 사용
let score = 40;

score >= 90 
? console.log("A+") 
: score >= 50 
? console.log("B+")
: console.log("F"); 

//중첩 연산자는 가독성을 해치는 경향이 있기 때문에
//조건이 길어질 경우 if조건문을 사용하는게 좀 더 효율적 선택

if(score >= 90){
    console.log("A+"); 
} else if(score >= 50){
    console.log("B+"); 
} else{
    console.log("F");
}