[JS] 05. 조건문

수리·2022년 9월 7일
0

1.Boolean

  • 참/거짓을 나타내는 데이터 타입
console.log(1+1===2)

//결과값 true

console.log(1+1===3)
//결과값 false

2. 조건문 (Conditional Statement)

  • 만약 (조건이) 참이라면~
  • 만약 (조건이) 거짓이라면~

2.1 비교 연산자

  • 일치여부를 비교해주는 연산자 '==='
  • 불일치를 비교해주는 연산자 '!=='
  • 보다 크다 : >
  • 보다 작다 : <
if (1+1===2) {
	console.log('1 더하기 1은 2입니다.')
}

//결과값 : 1 더하기 1은 2 입니다. (()안에 값이 true이기 때문)
let name = 'Code Lee'

if (name === 'wecode Lee') {
	console.log('Hi, my friend!)
}

//결과값 : 아무것도 나오지 않는다 (()안에 값이 false이기 때문)

2.2 else 를 사용한 조건문

let name = 'Code Lee'

if(name==='Code Yeo') {
	console.log('저는 여코드입니다.')
} else {
	console.log('저는 여코드가 아닙니다.')
}

//결과값 : 저는 여코드가 아닙니다. (name 변수가 Code Lee이기 때문)

2.3 else if를 사용한 조건문

코드형태)

if(조건1)
	명령문1
if(조건2)
	명령문2
if(조건3)
	명령문3
...
else
	명령문N

예시1)

let name = 'Code Hong'

if(name==='Code Yeo') {
	console.log('저는 여코드입니다.')
} else if(name=== 'Code Lee') {
	console.log('저는 여코드가 아닙니다. 이코드입니다.')
} else {
	console.log('저는 여코드도 아니고, 이코드도 아닙니다.')
}

//결과값 : 저는 여코드도 아니고, 이코드도 아닙니다.

예시2)

  if(who === "son"){
    return "Nope!"
  } else if (who === "dad"){
    return "Good!"
  } else if (who === "grand father"){
    return "Be careful!"
  } else {
    return "Who are you?"
  } 
}

console.log(isOkayToDrive("son"));

//결과값 : Nope!

2.4 논리연산자 (and, or, not)

a) or (||)

  • true 혹은 false
  • 논리 연산자 앞뒤로 ture, false가 있다면 두 값중 하나의 값만 true여도 전체 값이 true가 된다.
  • 두가지 논리값을 사용해서 새로운 논리값을 만들어낼 때 사용한다.
expr 1 || expr 2

// expr1을 true로 반환할 수 있다면 expr1을 반환한다. 그 외의 경우에는 expr2을 반환한다.
// 불리언 값을 함께 사용할 경우 둘중 하나가 참일 때 true, 모두 false일 경우 false를 반환한다.
console.log(1+1 === 2 || 1+1 ===3)

//여기서 앞은 true, 뒤는 false가 된다.
//전체 값은 true가 됨
//결과값 : true

b) and (&&)

  • 둘다 참일때 true, 하나만 false여도 false를 반환한다.
console.log(1+1 === 2 && 1+1 ===3)

//여기서 앞은 true, 뒤는 false가 된다.
//전체 값은 false가 됨
//결과값 : false

c) Truthy & Falsy

  • 참 같은 값과 거짓같은 값을 뜻한다.
  • 문맥상 boolean이 들어갈 것 같은 자리에 들어가서 true/false로 평가되는 값
  • falsy가 아니면 다 truthy기 때문에 falsy값을 알고 있는 게 유용하다.
falsy값 예시 : false, 0,-0,0n, "", null, undefined, NaN 등
let a = 0  
let b = 100

if(a) {
	console.log('I am falsy');
} else {
	console.log('I am truthy');
}

// 결과값 : I am truthy
// 여기서 a = 0은 false는 아니지만 falsy하게 여겨지고, b = 100 역시 true 값은 아니지만 truthy하게 여겨진다.
//(a) 값이 true라면 'I am falsy' 값이 출력되고, false라면 'I am truthy'값이 출력되는데 false로 여겨지기 때문에 I am truthy'가 출력됐다.
profile
웹개발 공부 스터디로그

0개의 댓글