일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- State
- three.js
- 구현
- 회고
- 개발 회고
- 오블완
- 프론트엔드
- 자바
- Next.js
- 백준
- 시뮬레이션
- react-three/fiber
- 코딩일기
- 티스토리챌린지
- 기본 문법
- 수학
- 토이 프로젝트
- poiemaweb
- 자바스크립트
- 세그먼트 트리
- 엔트리포인트
- REACT
- 자료 구조
- JavaScript
- js
- 브루트포스
- 모던 자바스크립트 튜토리얼
- styled-components
- 해시를 사용한 집합과 맵
- HTML5
- Today
- Total
코딩하는 고릴라
[Javascript] 자바스크립트란? 본문
본 게시물은 poiemaweb(https://poiemaweb.com/)에 기술된 내용을 기반으로 작성한 게시물입니다.
1. 자바스크립트의 탄생
- 1995년 : 넷스케이프 커뮤니케이션즈는 정적인 HTML의 동적 표현을 위해 브렌던 아이크(Brendan Eich)가 자바스크립트를 개발
- 1996년 : 넷스케이프 커뮤니케이션즈의 웹 브라우저인 Netscape Navigator2에 탑재
- Mocha(3월) -> LiveScript(9월) -> JavaScript(12월)로 이름 변경
2. 자바스크립트의 파편화와 표준화
- 1996년 8월 : 마이크로소프트 "JScript"를 Internet Explorer 3.0에 탑재
- JScript와 자바스크립트는 서로 경쟁하듯 독자적인 기능을 개발하기 시작했고, 이는 브라우저에 따라 웹 페이지가 정상적으로 동작하지 못하는 크로스 브라우징 이슈를 야기하였음
- 1996년 11월 : 모든 브라우저에서 동일한 동작을 보장하기 위해 ECMA 인터내셔널에 자바스크립트의 표준화를 요청
- 1997년 7월 : ECMA-262라 불리는 표준화된 자바스크립트 초판(ES1)의 명세가 완성
- ECMAScript의 버전별 특징
버전 | 출시년도 | 특징 |
ES1 | 1997 | 초판 |
ES2 | 1998 | ISO/IEC 16262 국제 표준과 동일한 규격을 적용 |
ES3 | 1999 | 정규 표현식, try…catch 예외 처리 |
ES5 | 2009 | HTML5와 함께 출현한 표준안. JSON, strict mode, 접근자 프로퍼티(getter, setter), 향상된 배열 조작 기능(forEach, map, filter, reduce, some, every) |
ES6 (ECMAScript 2015) | 2015 | let, const, class, 화살표 함수, 템플릿 리터럴, 디스트럭처링 할당, spread 문법, rest 파라미터, Symbol, Promise, Map/Set, iterator/generator, module import/export |
ES7 (ECMAScript 2016) | 2016 | 지수(**) 연산자, Array.prototype.includes, String.prototype.includes |
ES8 (ECMAScript 2017) | 2017 | async/await, Object 정적 메소드(Object.values, Object.entries, Object.getOwnPropertyDescriptors) |
ES9 (ECMAScript 2018) | 2018 | Object Rest/Spread 프로퍼티 |
3. 자바스크립트 성장의 역사
- 초창기 브라우저 : 서버로부터 전달받은 HTML, CSS를 단순 렌더링하는 수준
- 1999년 : ajax(Asynchronous JavaScript and XML) 등장 => 비동기적으로 서버-브라우저간 데이터 통신
- 웹 페이지 내 변경이 필요한 부분만 한정적으로 렌더링 가능
- 2005년 : 구글맵스 => ajax를 기반으로 부드러운 렌더링을 보여줌
- 2006년 : jQuery 등장 => DOM을 쉽게 제어할 수 있게 하며 크로스 브라우징 이슈도 어느정도 해결
- 2008년 : 구글의 V8 자바스크립트 엔진 등장 => 데스크톱 애플리케이션과 유사한 UX를 제공
- 2009년 : Node.js 등장 => 자바스크립트를 브라우저 이외의 환경에서 동작시킬 수 있게 함
4. Javascript와 ECMAScript
- ECMAScript : 자바스크립트의 표준 명세인 ECMA-262를 지칭.
- 타입, 값, 객체, 프로퍼티, 함수, 빌트인 객체 등 핵심 문법 규정
- 각 브라우저 제조사는 ECMAScript를 준수하여 브라우저에 내장되는 자바스크립트 엔진을 구현
- 자바스크립트 : ECMAScript와 브라우저가 별도 지원하는 클라이언트 사이드 Web API 등을 아우르는 개념
- **클라이언트 사이드 Web API : DOM, BOM, Canvas, XMLHttpRequest, Fetch, SVG 등
5. 자바스크립트의 특징
- 웹 브라우저에서 동작하는 유일한 프로그래밍 언어
- 인터프리터 언어 : 개발자가 별도의 컴파일 작업을 수행하지 않음
- 모던 자바스크립트 엔진은 인터프리터와 컴파일러의 장점을 결합. 속도가 느린 인터프리터의 단점을 해결
- 인터프리터 : 소스 코드를 즉시 실행
- 컴파일러 : 빠르게 동작하는 머신 코드를 생성하고 최적화
- 멀티 패러다임 프로그래밍 언어 : 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍 지원
확인하기
1. 자바스크립트를 개발한 이유, 목적?
2. ES6에서 새로이 추가된 문법?
3. ajax란?
4. 자바스크립트가 가지고 있는 특징?
REFERENCES
- ECMAScript compatibility table
'Javascript' 카테고리의 다른 글
[Javascript] 데이터 타입과 변수 (0) | 2023.12.01 |
---|---|
[Javascript] 기본 문법 (0) | 2023.11.30 |
[Javascript] 브라우저 동작 원리 (0) | 2023.11.30 |
[Javascript] 개발 환경 - Node.js (0) | 2023.11.30 |
[JavaScript] JavaScript로 백준 문제풀이하기 - fs모듈 (1) | 2023.11.12 |