06. 조건문과 연산자들

LSA·2022년 1월 21일
1

Pre-study

목록 보기
7/18
post-thumbnail
post-custom-banner

위코드 사전 스터디를 듣고 쓰는 글입니다.
수업 내용을 참고/인용하여 작성했습니다.

조건문

기본적인 문법 중 하나인 조건문, if else문입니다.
조건문은 금도끼 은도끼 설화를 생각하시면 간단합니다.
만약 도끼로 나무를 패다가 도끼 중 하나를 연못에 빠뜨렸다고 생각해봅시다.
그러다 산신령이 나타나, 금도끼와 은도끼를 양손에 들고 우리에게 말을 겁니다.

let gold = '금도끼';
let silver = '은도끼';
let yours = '쇠도끼';
>
if(gold === yours) {
	return true;
}else if(silver === yours) {
	return true;
}else{
	return false;
}

뭐라는 거죠?
어쨌든 우리는 선량한 나무꾼인 척 하여 쇠도끼를 돌려받음과 동시에 금도끼와 은도끼를 얻어야 합니다.

if문의 기본은 이렇습니다.

if( 조건 ){
	//코드 실행
} 

여기서 더 쓸 수도 있습니다.

if( 조건 1){
	//조건 1이 true일 시 코드 실행
} else if( 조건 2 ){
	//조건 1이 false면 조건 2로 넘어와서 true일 시 코드 실행
} else {
	//조건 1과 2가 둘다 false일 때 코드 실행
}

else if문을 중간에 넣어주면 조건을 계속 증식시킬 수 있다는 이야기입니다.
else의 경우는 그 조건이 false일때 실행되어야 할 경우에 써주고요.(물론 if문 하나로만 끝나는 경우도 있습니다)

비교 연산자

이제 산신령님이 말한 조건문에 쓰인 그것을 알아볼겁니다.

== //일치
=== //완전일치
!==  //같지 않음
>= ,<= //작거나 같음,크거나 같음
 

비교 연산자에는 이런 것들이 있습니다.
수학시간에 본 거랑 비슷한 친구들이 있네요.

== 과 ===의 차이

==은 값만 일치하면 되는 연산자지만, 우리는 데이터 타입에는 숫자 5와 문자 '5'가 근본부터 다른 것이라는 걸 알고 있습니다.

5 == '5' 
//true

==을 쓰면 이는 맞는 말이 되긴 합니다.
그러나 ===은 유형의 완벽한 일치를 요구하는 연산자로서,숫자 5와 문자 '5'의 데이터 타입까지 일치하는지 알기 위해 사용합니다.

5 === '5'
//false


이 두 개는 똑같은 콜라지만, 브랜드가 다르다는 점에서는 완벽히 일치한다고는 할 수 없으니까요.

참고 : https://velog.io/@filoscoder/-%EC%99%80-%EC%9D%98-%EC%B0%A8%EC%9D%B4-oak1091tes

어쨌든 다시 산신령님의 말로 돌아가 보면,

let gold = '금도끼';
let silver = '은도끼';
let yours = '쇠도끼';

if(gold === yours) { //gold와 yours가 일치하면
	return true; //true를 반환
}else if(silver === yours) { //그게 아니라 silver와 yours가 일치하면
	return true; //true를 반환
}else{//둘다 아니라면
	return false; //false를 반환
}

원래 있던 쇠도끼도 못 받게 생겼습니다.딜을 제시해볼까요?

let gold = '금도끼';
let silver = '은도끼';
let yours = '쇠도끼';

if(gold !== yours && silver !== yours) { 
	return yours;
}

이번엔 이쪽이 못알아들음

다시 통역 들어갑니다.

논리 연산자

논리 연산자는 비교 연산자보다 가짓수가 적습니다.

&& //AND, 두 조건 다 true여야 함
||//OR,둘 조건 하나만 true여도 됨
! //NOT, 조건이 false일 때

고로

let gold = '금도끼';
let silver = '은도끼';
let yours = '쇠도끼';

if(gold !== yours && silver !== yours) { //gold와 silver 둘 다 yours와 같지 않을 때
	let both = gold + silver;
	return yours+both;//yours+both의 값을 반환
}

한 줄이 더 추가된 것 같지만 무시합니다.

정직함에 감동받아 함박웃음을 짓는 산신령

이렇게 우리는 성공적으로 도끼 3개를 모두 얻는 데에 성공했습니다.

마무리

if 조건문과 비교,논리 연산자를 보자마자 금도끼 은도끼가 생각나서 한번 에피소드를 적용시켜 보았습니다.
물론 실제로 1타 3피를 성공하는 경우는 매우 드물지만요.

profile
진짜 간단하게 작성한 TIL 블로그
post-custom-banner

0개의 댓글