[리뉴얼] 렛츠기릿 자바스크립트
수업 중 강의창 메모기능에 적어둔 것.
교재 : https://thebook.io/080270/
문자열
- 명령 끝에 항상 세미콜론 붙이는 것은 에러를 방지하는 좋은 습관.
- ``(백틱)으로 감싼 문자열은 줄바꿈 걍 enter치면 됨! ('',""은 \n 써줘야함)
- 문자열 숫자로 바꾸기
parseInt | 정수로만 바꿈. 정수가 아닌 값은 정수만 추출. | ![]() |
parseFloat | 실수로 바꿀 수 있음 | ![]() |
- 초보 단계에서는 눈을 믿지 말고 typeof 로 확실히 확인하는 습관이 중요!
- NaN : Not a Number 숫자는 아닌데 typeof 찍으면 number로 뜨는 요상한 놈.
- Infinity : 무한을 의미. 음수도 가능 '-Infinity'. 사칙연산을 해도 Infinity. 그치만 지들끼리하면 'Infinity-Infinity > NaN'
- 형변환 type casting : 값의 자료형이 바뀌는 현상, 바꾸는 행위
- 문자와 숫자 더하기 : 잘 생각해보면 모두 다~ 납득할 이유, 규칙이 있음.
- 문자열 + 숫자 (더하기) : 문자열이 우선순위이므로 숫자가 문자열로 형변화되어 더해짐 -> 결과가 문자열
- 문자열 _ 숫자 (더하기 외의 연산) : 숫자가 아닌 것을 숫자로 형변화한 후 연산 -> 결과가 숫자형
불 값(boolean, 값들의 비교)
- 웬만해서는 JavaScript에서는 '==='쓰는게 좋음. 왜냐하면 값&자료형 모두 비교할 수 있으니까.
- '=='는 둘 중 하나가 규칙에 따라 형변화된 후 값만 비교하므로 자료형은 비교가 불가함.
논리연산자
- 연산자 우선 순위가 헷갈릴 땐 그냥 ()를 활용하자
- shift+\ (백슬래쉬, enter위에 있는 거) = |
- 문자열의 bool값을 알고 싶을 때 (boolean으로 형변환하는 법 2가지)
1. boolean('a');
2. !!'a'; -> 뭐든 !을 두 번 뒤집히면 원래의 값이 되니까
- 거짓인 값 (falsy value) : 불 값 형변환시 false 인 7가지 외워라!!!!!!!!!!!!!!!!!!
1. false
2. ''(빈문자열)
3. 0
4. NaN
5. undefined
6. null
7. document.all(거의 사용하지 않음)
이외엔 모두 true임 = 참인 값(truthy value)
undefined와 null
- undefined : 수행은 하긴하는디.. 컴퓨터가 결과값으로 돌려줄게 없어~
-> 'undefined를 돌려준다'라고 생각하는게 올바름
- typeof undefined > "undefined" 즉, undefined도 자료형임
- null은 의도적으로 빈 값을 넣고자 할 때 넣음.
- typeof null > "object"
- 왜 null이 아니라 object가 나오느냐... 버그임.. ㅎ 언어라서 수정하기가 힘듬.. 걍 이대로 감
초기 설정때 충분히 생각해보는게 중요한 이유 ^^ 손이 먼저 나가는게 절대 좋은게 아님!
변수 선언하기(let)
- console.log(string) : 단순히 화면에 그려주는 것
- string : 값을 돌려주는 것
▶ 둘의 차이는 엄청난 차이! 자세한 건 나중에 더 배우면 체감할 수 있을거임.
let total = 5000+8000; // "초기화했다" : 선언과 동시에 값을 넣었다.
- 변수 선언의 결과값은 항상 undefined 임
- '=' 오른쪽 값을 왼쪽에 대입하다. 할당하다. 연산자중에 우선순위가 굉장히 낮음.
변수 이름짓기
- 값을 선언하지 않아서 빈값, 기본값 = undefined
- 같은 변수 연달아 선언하면 에러남! -> 변수명 겹치지 않게 주의해야 함. 최대한 자세하고, 명확하게 그 값이 뭔지 알 수 있게 지어야 함.
- 키보드에 있는 특수 문자들 중 변수명에 쓰일 수 있는 건 '$'와 '_'밖에 없음.
- 한자도 가능함. but 안 쓰는게 좋겠쥬? 걍 영어로 하자.
- 숫자는 포함될 수 있으나 첫글자에 위차하면 안 됨.
- 띄어쓰기 불가 -> 띄어쓰기 하고 싶을 땐 대문자로 표시하기. (carmel case)
- let,class, const 등등 변수명으로 쓰일 수 없음 -> 비슷한 것 같은데 에러 메세지가 다를 때, 왜 다른지 의문을 갖고 파고들어보는 습관이 중요함. 한단계 더 발전할 수 있는 좋은 태도!
변수 수정하기
> let change = '바꿔 봐'; // 선언하고 난 후 바꿀때는
< undefined
> change = '바꿨다'; //let없이 대입연산자 '=' 만 하면 됨.
<'바꿨다'
- undefined를 돌려주는 것과 값을 돌려주는 것은 어마어마한 차이임! 값을 돌려주면 나중에 다른 곳에 또 쓸 수 있다는 뜻이니까.
- 변수 값을 비워둘 때는 두가지 방법이 있으나, 웬만하면 null을 사용하는 것을 추천함. (null은 평소에 잘 쓸 일이 없기 때문에 null이 뜨면 누군가 의도적으로 값을 바꿨겠거니 하고 건들지 않게 됨)
>change = undefined;
<undefined
>chance = null;
<null
- 프로그래밍 중 반복되는 작업을 어떻게 컴퓨터에게 넘길 것인가에 대해 고민하는 습관.
상수(const)와 var
- var는 과거에 자주 쓰였고 요즘엔 잘 쓰지 않음.
- 근데 왜 알아둬야 하느냐? 과거 코드를 분석하기 위해서 알아둬야 함. let과 기본적으로 유사한데, let과 달리 재선언이 가능함. (var에서 이상했던 것들을 수정해서 나온게 let이라고 생각하면 편함)
- let으로 선언한 변수는 값을 바꿀 수 있지만, const로 선언한 변수는 바꿀 수 없음.
- const쓸때는 초기에 설정값을 반드시 넣어줘야함.
동시에 여러개 공부하는 것은 좋음. 하지만 계획표에 따라서 왔다갔다 옮겨가며 공부해야지, A하다가 조금 막힌다고 바로 B로 넘어가고 해버리면 나중에 하나에 편중될 수 밖에 없음. 로드맵 잘 짜서 지켜가며 공부하자.
'인프런 > Java Script' 카테고리의 다른 글
22.03.04 반복문 While, for / break, continue / 중첩 반복문 / 별찍기 숙제 (0) | 2022.03.05 |
---|---|
22.03.04 조건문 if(else, else if, swith) / 조건부 연산자(삼항연산자) (0) | 2022.03.05 |
22.02.09 변수와 기본 자료형 / 나이계산 프로그램, 글자색 바꾸기, 시간표시 예제 (0) | 2022.02.10 |