[REAL Deep Dive into JS] 2. 자바스크립트란

young_pallete·2022년 8월 21일
0

REAL JavaScript Deep Dive

목록 보기
2/46

🌈 시작하며

음.. 이 파트에서는 크게 두 가지에 대한 내용이 나옵니다. 아, 이 기준은 내가 중요하다고 생각하는 개념에서 뽑아낸 것이니, 참고해주시길 바랍니다.

  • 자바스크립트의 변천사
  • ECMAScript

그래서 이를 디테일하게 풀어보려 했는데요.
자바스크립트 변천사를 정말 잘 설명해주신 분의 글이 있어, 이 분 글을 보시면, 그래도 그 변천사를 더욱 맛있게(?) 이해할 수 있을 거 같아요.

단순히 기존 글을 따라서 쓰는 것은 의미가 없다고 생각하기에, 더 효율적인 방향에서 이를 링크로만 첨부하기로 했습니다.

🚦 본론

자바스크립트 특징

자바스크립트의 가장 큰 특징은 무엇일까요?
많은 다양한 특징들이 있겠지만, 가장 큰 특징은 웹 브라우저에서 동작하는 프로그래밍 언어라는 것이죠.

원래 예전에는 '유일'이라는 명칭을 주었는데, 최근에는 pyscript가 나오면서, 이러한 유일의 의미가 많이 희석되는 것 같아요.

또한, 인터프리터 언어이며, 최적화를 위해 일부 소스는 컴파일하고 실행하는 체계를 따릅니다.

또한 명령형, 함수형, 객체지향 프로그래밍 패러다임을 지원하는 언어이며, 동시에 프로토타입이라는, 원형의 객체를 기반으로 새로운 객체를 생성하는 원리에 기반한 프로그래밍 언어라고 할 수 있겠네요.

자바스크립트 변천사

전술했던 링크를 들어가 이해하는 것이 더 나을 것 같아 링크로 남겨둡니다!

ECMAScript

제가 산 책은 2020년 기준이라, 모든 케이스들이 적혀 있지 않았어요.
따라서 ECMAScript의 새로운 제안들을 찾아야 했는데요. TC39 github 문서를 통해 이에 대해 좀 더 알 수 있게 되었어요! 🥰

결국 우리가 원활한 프로그래밍을 위해 사용할 수도 있는 문법이니, 알아두는 게 좋겠죠? 😉

버전출시 연도특징
ES52009HTML5와 함께 출연한 표준안
JSON, strict mode, 접근자 프로퍼티, 프로퍼티 어트리뷰트 제어, 향상된 배열 조작을 위한 메서드 지원
ES62015let / const, class, template literal, destructuring reassignment, spread, rest parameter, Symbol, Promise, Map / Set, for ... of, generator, Proxy, import / export
ES72016지수 연산자(**), Array.prototype.includes, String.prototype.includes
ES82017async/await, Object 정적 메서드(values, entries, keys), Object.getOwnPropertyDescriptors
ES92018Object rest/spread 프로퍼티, Promise.prototype.finally, async generator, for await ... of
ES102019Object.fromEntries, Array.prototype.flat, Array.prototype.flatMap, optional catch binding
ES112020String.prototype.matchAll, BigInt, globalThis, Promise.allSettled, null 병합 연산자, 옵셔널 체이닝 연산자, for ... in enumeration order
ES122021String.prototype.replaceAll, Promise.any, 논리연산자와 할당 표현식 추가(??=, ||=, &&=), 숫자 자리수 구분 기호(_), 약한 참조, Intl.ListFormat, Array.prototype.sort 개선
ES132022클래스 필드, RegExp Match Indices, Top-level await, Ergonomic brand checks for Private Fields, .at(), Accessible Object.prototype.hasOwnProperty, Class Static Block, Error Cause

✨ 마치며

워낙 잘 설명되어 있는 글들이 많아서, 사실 이 파트는 쓸 내용이 없어요.
더 놀라운 건, 3장의 내용이 더 쓸 내용이 없더라구요(...)
아무래도 간단한 설치나 브라우저 도구 사용에 대한 설명이기 때문이었어요.

음, 어떻게 쓸지 고민해봐야겠군요. 이상! 🌈

profile
People are scared of falling to the bottom but born from there. What they've lost is nth. 😉

0개의 댓글