일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 2001년 개봉작
- 카카오페이
- 싱어게인2
- 엑셀 excel
- 쿠키런 킹덤
- OTT
- 넷플릭스
- 토스
- 2000년대 영화
- 63호
- 2022년 영화
- 2019년 개봉작
- 구글
- 설거지하며 영화보기
- 2020년대 영화
- 코로나
- 1990년대 영화
- 레그레이즈
- 2018년 개봉작
- 라디오천국
- 넷플릭스 영화
- GRASSHOPPER
- 그래스호퍼
- 앱테크
- 2022년 NBA final 파이널 6차전
- 스테픈 커리 파이널 MVP
- 2005년 개봉작
- 왓챠
- 2010년대 영화
- 유희열
- Today
- Total
It's not over until you win
[Grasshopper] Fundamentals I - 4. If statements 본문
4번째 챕터 시작이닷!
1-4-1. Flip a Coin
if 명령어를 배우는데, 이제부터는 알아야 할 규칙이 있다고 보인다.
- JavaScript는 예민하다. 예시로, 'tails' 'Tails' 'tAils' 는 같지 않다. 대소문자도 구별한다는 의미같다.
- if를 사용할 경우 "( )" 가 맞다면, 뒤에 나오는 "{ }"가 작동한다는 순서를 가지고 있다.
예제문이 조금 어려워졌다. 순서의 의미를 알아야 풀 수 있겠다.
if 를 쓰고 뒤에 "==="이 나온다. "=" 이 등호는 상식적인데, "==="? 왜 3번을 연속해 써야만 하는가?
검색해보니 이를 "일치연산자"라 칭한다고 한다. (하~ 더모르겠다)
더 찾아보니 "=="도 있다. (후우...)
정리해보면,
a=b ; 이제부터 a는 b라고 하자. 약속. (assignment operator, 할당 연산자...말이 어색하다)
a==b ; 쟤 둘이 "값"이 같아? 그럼 True.
a===b ; 쟤 둘이 "값"과 "형식"이 같아? 그럼 True (1==="1" ; 이럼 이건 false다. 형식이 틀리잖아 / Equality Operator, 비교 연산자)
더 깊게 배우면 이해할 시간이 온다고 다들 그러니 여기까지만 이해하고 예제를 풀어보자.
var answer = pickRandom ( [ 'heads', 'tails' ] ) ; print (answer) ; if (answer === 'heads') { drawBoxes ( 'gwg ggg gwg' ) ; } if (answer === 'tails') { drawBoxes ( 'rrr wrw wrw' ) ; } |
1-4-2. Is It Happy?
What code would check if the grasshopper variable is holding the string 'happy'?
var grasshopper = 'happy'
뭔소리일까. grasshopper가 'happy'를 가지고 있는지 체크해보려면 어떤 코드가 필요하냐고?
grasshopper === 'happy' 이렇게 하면 이게 True이니까 체크해 볼 수 있다는 얘기.
1-4-3. Stoplight
if와 ===를 이해하기 위한 또다른 예제.
var light = pickRandom ( [ 'stop', 'slow', 'go' ] ) ; print (light) ; if (light === 'stop') { drawBox (red) ; } if (light === 'slow) { drawBox (yellow) ; } if (light === 'go') { drawBox (green) ; } |
1-4-4. Created an If Statement
var aNumber = 5 ; if (aNumber === 5) { drawBox (blue) ; } if (aNumber === 4) { drawBox (red) ; } |
그럼 결과로 어떤 색깔의 박스가 나올까?
정답은 Blue!
if를 통해서 그게 맞으면 해당 박스를 그리라고 했으니까.
1-4-5. Flip a Coin Again
if를 배웠으니까 이제는 확장해서 if...else도 배우자.
1-4-1에서 배웠던 예제를 변형하는 예제다.
var answer = pickRandom ( [ 'heads', 'tails' ] ) ; print (answer) ; if (answer === 'heads') { drawBoxes ( 'gwg ggg gwg' ) ; } else { drawBoxes ( 'rrr wrw wrw' ) ; } |
앞에서는 if를 두번쓰는 형태로 표현했지만, 이번엔, 맞으면 gwg..., 틀리면 rrr...이라고.
형식만 손에 익힌다면 말하듯 쓴다고 생각된다.
코드를 배운다는 건 결국 새로운 언어를 말하는 방식을 배운다는 의미같다.
1-4-6. Guessing Game
이번에 배우는 건 "!==" comparison operator란다. 이건 does not equal이라는 의미라고.
"==="는 strict equal 이라고 배웠으니까 이번에는 "!==" not equal을 배우는건가.
var pea = pickRandom ( [ 1, 2, 3 ] ) ; if (pea !== 1) { print ( 'Not under shell 1' ) ; } if (pea !== 3) { print ( 'Not under shell 3' ) ; } |
1-4-7. What's the Weather?
문제다.
var todayWeather = 'rainy' ; var tomorrowWeather = 'cloudy' ; if ( todayWeather === 'rainy' ) { print ( 'Bring an umbrella' ) ; } if ( todayWeather !== 'rainy' ) { print ( 'Maybe the sun will come out' ) ; |
훗. 맞혔다.
1-4-8. Which Bananas?
또 문제. 아래 예제가 True를 보여주려면 적절한 bananas가 뭐고, numberBananas가 뭐냐는 문제. 객관식.
var bananas ; var numberBananas ; if ( bananas !== 'green' ) { if ( numberBananas > 5 ) { print ( "Let's make banana bread" ) ; } } |
엑셀에서 함수로 if를 여러번 쓸 때 보는 혼란스러움이 느껴진다. if 안에 if를 또 넣은거지.
그럼 이걸 말로 풀면 True가 되려면 Let's...가 나와야 하잖아. 그럼 Green이 아니면서, 5보다는 큰 수를 넣어주면 정답이겠네?
맞추긴 했는데, 제대로 이해한걸까.
챕터 4를 마쳤다.
의미있는 개념을 배운 듯 해 뿌듯하다.
if, if...else, =, ==, ===, !==