항해일지
[TIL]온보딩 스터디 Day 02 (조건문) 본문
[강의 정리]
if문
조건에 따라 다른 행동을 취해야 할 때가 있습니다.
이럴 땐, if문과 ‘물음표’ 연산자라고도 불리는 조건부 연산자 ?를 사용하면 됩니다.
if(...)문은 괄호 안에 들어가는 조건을 평가하는데, 그 결과가 true이면 코드 블록이 실행됩니다.
예시 :
let year = prompt('ECMAScript-2015 명세는 몇 년도에 출판되었을까요?', '');
if (year == 2015) alert('정답입니다!');
이와 같이 조건이 만족이 되면 출력한다.
[내가 짠 if문 예시]
if(a < 10){
console.log('if 조건에 맞으므로 출력합니다.')
}else if(a > 10){
console.log('else if 조건에 맞으므로 출력합니다')
}else {
console.log('위에 조건들에 만족하는것이 없으면 출력합니다')
}
if (…) 문은 괄호 안의 표현식을 평가하고 그 결과를 불린값으로 변환합니다.
- 숫자 0, 빈 문자열"", null, undefined, NaN은 불린형으로 변환 시 모두 false가 됩니다. 이런 값들은 ‘falsy(거짓 같은)’ 값이라고 부릅니다.
-
이 외의 값은 불린형으로 변환시 true가 되므로 ‘truthy(참 같은)’ 값이라고 부릅니다.이 규칙에 따르면 아래 예시의 코드 블록은 절대 실행되지 않습니다.
if (0) { // 0은 falsy입니다....}
if (1) { // 1은 truthy입니다....}
물음표 연산자?를 여러 개 연결하면 복수의 조건을 처리할 수 있습니다.
예시:
let age = prompt('나이를 입력해주세요.', 18);
let message = (age < 3) ? '아기야 안녕?' :
(age < 18) ? '안녕!' :
(age < 100) ? '환영합니다!' :
'나이가 아주 많으시거나, 나이가 아닌 값을 입력 하셨군요!';
alert(message);
switch문
복수의 if 조건문은 switch문으로 바꿀 수 있습니다.
switch문을 사용한 비교법은 특정 변수를 다양한 상황에서 비교할 수 있게 해줍니다. 코드 자체가 비교 상황을 잘 설명한다는 장점도 있습니다.
예시:
switch (x) {
case 'value1': // if (x === 'value1')
...
[break]
case 'value2': // if (x === 'value2')
...
[break]
default:
...
[break]
}
- 변수 x의 값과 첫 번째 case문의 값 'value1'를 일치 비교한 후, 두 번째 case문의 값 'value2'와 비교합니다. 이런 과정은 계속 이어집니다.
- case문에서 변수 x의 값과 일치하는 값을 찾으면 해당 case 문의 아래의 코드가 실행됩니다. 이때, break문을 만나거나 switch 문이 끝나면 코드의 실행은 멈춥니다.
- 값과 일치하는 case문이 없다면, default문 아래의 코드가 실행됩니다(default 문이 있는 경우).
느낀점 및 보완할 점
온보딩 스터디 2일차에 조건문에 대하여 공부하였다.
if 문을 공부하고 사용하는 부분에 있어서는 크게 어려운 부분은 없었다 다만 다중 조건 처리를할때 else if else 를 사용해야하는데 if로 바꿔놔도 값이 똑같이 나와 신기했다.
if (e === 0) { result = '경' }
else if (e === 1) { result = '신' }
else if (e === 2) { result = '임' }
else if (e === 3) { result = '계' }
else if (e === 4) { result = '갑' }
else if (e === 5) { result = '을' }
else if (e === 6) { result = '병' } 똑같이 출력된다
else if (e === 7) { result = '정' }
else if (e === 8) { result = '무' }
else if (e === 9) { result = '기' }
|
if (e === 0) { result = '경' }
if (e === 1) { result = '신' }
if (e === 2) { result = '임' }
if (e === 3) { result = '계' }
if (e === 4) { result = '갑' }
if (e === 5) { result = '을' }
if (e === 6) { result = '병' }
if (e === 7) { result = '정' }
if (e === 8) { result = '무' }
if (e === 9) { result = '기' }
|
자바스크립트의 자유도가 높아서 그런거인지 문법에 문제가 없는거인지 이부분은 조금더 알아 봐야겠다.
switch문은 if랑 비슷했는데 내 기준에서 if보다 어려웠다. 내가 생각하기에 조건 보다는 비교? 같았다.
if문은 이조건이면 이거 출력 아니라면 다음 조건 출력 이런 느낌이라면 switch 문은 문법이 시각적으로 더 간단해 보였지만
이해 하기에 조금더 어려웠다. switch문에 대해서는 아직 조금더 공부가 필요할거같다.
두 조건문 둘다 사용할수 있는 상황이라면 나는 if문을 선택할거같다.
'항해99 > TIL' 카테고리의 다른 글
[TIL]온보딩 스터디 Day 06 (0) | 2023.03.12 |
---|---|
[TIL]온보딩 스터디 Day 05 (객체) (0) | 2023.03.11 |
[TIL]온보딩 스터디 Day 04 (함수) (0) | 2023.03.09 |
[TIL]온보딩 스터디 Day 03 (배열,반복문) (0) | 2023.03.08 |
[TIL]온보딩 스터디 Day 01 (변수,상수,자료형) (0) | 2023.03.06 |
Comments