<목차>
1. 자바스크립트란?
2. 개발 환경
3. 기본 문법
4. 데이터 타입 & 변수
5. 연산자
6. 제어문
7. 객체 - property + method
8. 함수
9. 스코프
10. 실행 컨텍스트
11. 클로저
12. ES6 추가 기능
13. Number, Math, Date, String
14. 배열
15. 이터러블
16. 스프레드 문법 - ex) map, split...
17. 비동기 프로그래밍
18. 프로미스 - callback 함수의 개선 1
19. async / await - callback 함수의 개선 2
20. 최종 프로젝트
필기 내용
<VS Code 단축키>
<JavaScript 필기>
html 주석 : <!-...... ->
평가된다?
문 VS 표현식 : 문은 하나의 문장, 표현식은 문장을 구성하는 요소
객체(Object) : {key : property}의 집합
가비지 컬렉터 : 원시 타입(boolean, undefined...)는 pass by value 이므로 메모리의 값을 계속적으로 할당하면서 변수는 메모리 주소만 가리킴 -> 가비지 컬렉터로 사용하지 않는 메모리를 정리해줌(interpreter)
8,16진수는 정수로 변환해주기 때문에 Number 타입을 가짐 -> 등호가 성립
null과 undefined의 차이 : undefined는 비어있으나 null은 비어있는 상태를 나타내준 것. 메모리 할당은 되어있지 않다고...
객체(Object) : 참조에 의한 전달로, 주소를 가리키게 됨
ReferenceError : 선언하지 않은 변수에 접근했을 시에 나타나는 에러
변수의 동적타이핑 : 다른 언어와 다르게 JS에서는 앞서 할당했던 데이터타입과 다른 값을 넣을 수 있음.
null은 object 타입! -> JS의 오류이나 수정X
변수 호이스팅 : var에 한정하여 최상단에 변수를 참조하는 방법 -> 변수가 재선언되어도 문제되지 않음 (인터프리터는 런타임 이후에 raw별로 해석하지만 호이스팅은 런타임 이전에 해석되므로 가능!)
문자열 + 숫자 = 문자열 , 문자열 == 숫자시, 문자열의 숫자가 다른 숫자와 같으면 true (JS는 ===를 사용하여 타입까지 비교를 함)
삼항연산자 -> [변수 비교 연산식 ? true시 리턴값 : false시 리턴값]
**추가**
런타임과 컴파일 타임에 대한 설명 -> 링크텍스트
여담
미리 공부한 내용이라 아는 내용이 대부분이었지만... 모르는 부분도 있어서 수업을 듣길 잘했다고 생각했다ㅎㅎ
앞으로 배울 내용이 많은데 그때도 지금처럼 여유롭게 들을 수 있을지 의문이다...