코로 넘어져도 헤딩만 하면 그만

6일차. JS 변수 본문

CODE STATES 44

6일차. JS 변수

꼬드리 2023. 2. 20. 21:37

JS 변수 부분부터 시작했다.

사실 어렴풋이 알기는 하되 뭘 아는지 뭘 모르는지 정확히 짚히지 않는 부분이 여기였고 JS에 자신도 없었는데, 이론을 보면서 조금씩 머리에 들어오는듯. ... 조금 가르쳐주고 많이 스스로 찾게 하는 방식이 당혹스럽긴 하지만 또 아주 못 풀 문제도 아니고, 문제 같이 푼 페어 상대분이 좀 아는 분이셔서 도움을 많이 받고 있다. 

문제를 보자마자 겁 먹는 습관을 의사 코드를 나열하면서 고쳐가야겠다는 생각... 진짜 어려워지면 어쩌려구...

 

Java Script에는 7가지 내장변수 타입이 있다는 점. object와 symbol은 좀 나중에 다루고 그 외에 null / undefined / boolean / number / string 을 기억해둘 것. string은 문자열이고 boolean은 true/false, number은 숫자다. type of 로 무슨 타입인지 확인할 수 있다. 단 null은 object로 반환되는듯? 이건 버그라고 함... null 값을 가진 변수를 부정하면 true가 나온다.

 

===을 웬만하면 쓰고 ==는 이제 쓰지 말 것을 추천. 느슨하게 일치하는 ==는 값만 같으면 타입이 달라도 서로 동일하게 인식하는데, 이걸로 나중에 큰 오류가 발생할 수도 있다. Error가 아니기 때문에 어디서 틀린 건지 찾는게 더 골칫거리. ===는 그 문제점을 해결해준다.

 

Math.ceil Math.floor 등등.... 

문자열 뒤에 .length는 글자 수 세기를 가능하게 해준다. 문자열의 특징은 index 조회가 가능하다는 것이다. 

ex ) console.log(company[5]) -> company 변수에 들어간 단어의 6번째 글자 (0부터 세기 때문에)

 

&& and 연산자(둘다 참이어야 참이 나옴.)
|| or 연산자(둘중 하나만 참이어도 참)

 

변수 선언은 메모리에 데이터를 저장하는 '방법'이다. 선언과 할당을 구분할 것. 

예전에는 var로 변수 선언을 했지만 요즘은 유동적인 건 let, 변화 불가능한 변수는 const로 쓰는 추세. 

 

 

아래 사이트에서 파일 생성 없이 JS를 테스트해볼 수 있다. 

https://stackblitz.com/

 

StackBlitz | Instant Dev Environments | Click. Code. Done. - StackBlitz

Instant dev experiences Wait, I can enjoy web dev again? Significantly reduce time to market with matchlessly secure, instantly reproducible, fullstack dev environments which boot in milliseconds.

stackblitz.com

 

 

Self Quiz

- undefined와 null의 차이?

더보기

undefined는 아무것도 할당되지 않은 상태라는 의미. null은 그보다 더 의도적으로 빈 상태라는 것을 명시할 때 쓴다. 

 

-템플릿 리터럴이란?

더보기

템플릿 리터럴 Templet literal ``은 문자와 변수를 함께 쓰는 도구라고 한다. 작은따옴표'나 큰따옴표" 대신 백틱`을 쓴다. 변수가 fruit일 때 `나는 오늘 ${fruit}을 먹었다.`라고 문자열에 변수를 넣어 작성이 가능하다. 여러 개도 가능. 

특이하게도 ``내부에서 띄어쓰기 및 줄바꿈이 허용된다.

 

 

 

ERROR!

  • 직각삼각형 성립하는지 구하는 문제 -> if 문을 써서 가장 긴 변을 구해야 하는줄 알고 if (powSide1 === powSide2 + powSide3 || powSide2 === powSide1 + powSide3 || powSide3 === powSide1 + powSide2) 로 쓰고 있었는데 알고 보니까 그냥 return powSide1 === pow2 + pow3 || powSide2 === powSide1 + powSide3 || powSide3 === powSide1 + powSide2 하면 끝나는 문제였다. 너무 어렵게 생각했음.
  • StackBlitz에서 터미널이 없는 문제 -> js로 들어가는 게 아니라 node에서 실행했어야 했다. node가 있으면 js도 웹 브라우저 없이 터미널 내부에서 동작 가능하다. 터미널에 node index.js 쓰면 한번에 값 나옴. node만 쓰면 REPL 환경에서 한 줄짜리 짧은 코드도 확인해볼 수 있다. .exit로 탈출한다.

 

 

앞으로

  • 의사 코드로 먼저 작성하는 습관 들이기.
  • 답 안 보고 오늘치 문제 다시 풀어보기... 

'CODE STATES 44' 카테고리의 다른 글

8일차. 코플릿 조건문 반복문  (0) 2023.02.22
7일차. 조건문 반복문  (0) 2023.02.21
5.1 주말기록  (0) 2023.02.18
5일차. 계산기 목업 CSS 응용  (1) 2023.02.17
4일차. CSS 응용  (0) 2023.02.16
Comments