반응형
요약
About This Book
- 이번 Get Started는 더 깊이 있는 JS학습을 위해 준비하는 과정
- JS자체가 목표가 아니라 journey이다. => 계속해서 새로운 것을 배울 수 있다는 얘기인 듯..?
What's with that name?
- Java와 Javascript의 이름이 비슷한 이유는 마케팅의 산물. JS가 나올 때 자바 프로그래머를 겨냥했기 때문이다
- 자바를 소유하고 있는 Oracle은 Javascript에 대한 상표도 소유하고 있음(효력은 없지만..) => 따라서 Javascript보다는 JS라고 말하는 것을 권장!
- Oracle이 소유하고 있는 상표와 거리를 두기 위해 공식적인 이름은 ECMAScript임 => 따라서 JS or ES20XX라 부르자.
Language Specification
- TS39는 JS를 관리하는 기술위원회로, 0~4단계의 과정을 거쳐 언어(JS)를 개정함
- 이처럼 표준이 존재하기 때문에 우리는 하나의 JS로 개발가능 => V8 엔진이나 스파이더몽키 엔진이나 같은 JS기능을 수행한다.
The Web Rules EveryThing about(web)
- JS의 명세서와 브라우저 안에서 JS는 동일하지만 고려해줘야 할 것이 있다. => JS를 사용하며 20년 넘게 웹을 만들어왔기 때문에 JS를 변경할 때, 기존의 웹을 해치지 않아야 함. => 예시로 JS의 contains는 옛날의 JS프레임워크 명령어와 겹치기 때문에 includes로 메서드명을 대신하고 있다.
Not All JS
console.log("hi")
- 이 코드 자체는 JS 명세에 없다.
- JS의 환경이 제공하는 API임. => 이 마저도 JS의 규칙을 따라야 함.
- 사람들이 말하는 크로스 브라우저 이슈는 JS자체 문제가 아니라 환경 문제.
It's not Always JS
- 개발자 도구는 개발자의 생산성을 높이는 도구이지, JS 동작을 엄격하게 반영하는 것은 아님
Many Faces
- 프로그래밍에는 코드 구성방식과 관련된 패러다임이 존재함.
- 언어에 따라 특정 패러다임에 집중됨 ex) c는 절차지향, c++/java는 객체지향, Haskell은 함수형
- JS는 다중 패러다임 언어임.
Backwards & Forwards
- JS는 옛날버전과 호환을 중요하게 생각함. 10년 전에 작성된 JS도 현재 잘 동작함.
- 대조적으로 HTML/CSS는 10년 전에 작성된 HTML/CSS가 현재는 정상적으로 작동하지 않거나, 의도치 않은 작동이 발생 가능. => 반대로 2019년에 추가된 HTML기능을 2010년 브라우저에 사용해도 웹은 망가지지 않음.(무시)
느낀 점
JS의 배경에 대해 좀 더 알게 되었다.
JS는 과거와의 호환을 중요시 한다는 것을 강조한 느낌.
자바에서는 문자열 포함 체크 할 때 contains로 쓰고, JS에서는 includes를 쓰기 때문에 이를 통일하면 좋겠다고 생각한 적이 있는데 JS에 이러한 사정이 있음을 알게 됨.
반응형
'공부 정리 > You Don't Know Js' 카테고리의 다른 글
[YDKJ] Get Started - Chapter 2 - 2(完) (0) | 2023.04.23 |
---|---|
[YDKJ] Get Started - Chapter 2 - 1 (0) | 2023.04.22 |
[YDKJ] Get Started - Chapter 1 - 2(完) (0) | 2023.04.21 |
[YDKJ] Get Started - preface (0) | 2023.04.20 |
[YDKJ] Get Started - foreword (0) | 2023.04.19 |
댓글