js 개발 이론정리(1)[async, defer, 데이터 타입]
병렬적으로 html을 실행함과 동시에 js 파일을 다운받고 있다가. 파일 다운이 완료되면 html 코드읽기 잠시 멈추고 js 파일을 실행한다. 그리고 다시 html 코드를 읽는다.
ㅡ> 먼저 다운된 js 파일이 먼저 실행되기 때문에
더 큰용량의 파일이 먼저 실행되어야 하는 경우 문제가 발생.
병렬적으로 둘다 읽어가다가 html 코드 읽기가 완료된 후에, 다운받은 js파일 실행.
ㅡ> 다 다운 받은 후에 순서에 맞게 js 파일 실행.
< 'use strict'; >
use strict는 다른 언어에서는 비상식적인 js만의 방식들을 차단시켜서 코드의 안정성을 높인다.
코드가 효율적이기 때문에 엔진의 코드 읽는 속도 또한 빨라진다.
<var >
var의 사용은 이제 용납되지 않는다.
원인1. var hoisting : var을 어디에 선언 했든, 선언을 가장 맨위로 끌어주는 것.
원인2. { }(블럭)을 무시하고 무조건 global 변수처럼 사용된다.
< const >
- 상수값으로서 값 고정됨.
1. 안전성 증가.
2. thread의 동시 사용 때에, 값 변경을 하게 되는데 그것을 막게끔 해줌.
< 문자열 안에서 변수, 상수, 함수 쓰는 법 >
`${변수명 or 함수명 } `
<boolean>
null은 아무값도 못오게
undefined는 아예 선언하지 않으면 된다.
<Symbol>
같은 문자열 구분할 때 사용. 출력을 원한다면.. 변수명 뒤에 .description을 추가.
<Dynamic typing>
길고 깊은 프로젝트 진행시 이러한 타입의 변경은 위에서 오류가 없던 같은 코드에게
아래에서 에러를 선사한다.
그래서 타입이 정해져서 쓰이는 자바스크립트가 Typescript.
immutable data(변환 불가) : primitive types, frozen objects(object.freeze())
mutable data(변환 가능) : object
코테 풀면서 막연히 써오기만한 내용들 정리가 가능했다. 와우
출처: https://www.youtube.com/watch?v=OCCpGh4ujb8&list=PLv2d7VI9OotTVOL4QmPfvJWPJvkmv6h-2&index=3