-
Javascript
Javascript는 Compile 언어가 아닌 Interpreter 언어 프로그램을 번역해서 실행시키는 소프트웨어
탄생
1995년 넷스케이프 커뮤니케이션스의 브랜던 아이크가 개발.
넷스케이프 네비게이터 2.0에 의해 구현, 1996년에는 마이크로소프트 사의 Internet Explorer 3.0에 탑재 됨
1997년부터 ECMAScript를 따르는 표준화가 진행되었고, 각 브라우저도 ECMAScript 사양을 구현하도록 권고 중
웹 브라우저용 스크립트 언어이며 본격적인 프로그래밍 언어가 아니다
(1) 대다수의 웹 페이지 개발자는 웹 페이지를 꾸미기 위한 간단한 코드만 복사하여 사용
(2) 구글 지도 등의 기능이 구현된 애플리케이션이 등장하고, Ajax 비동기 통신 기술을 사용하여 손색없는 기능과 조작성 을 실현하게 되면서, 고성능의 웹 애플리케이션을 만들 수 있는 객체지향언어임이 인식되기 시작함
(3) 2008년부터 HTML5 사양이 정해지기 시작하고 자바스크립트로 웹 애플리케이션을 만들 수 있는 다양한 API가 등장 하게 되었다. 동시에 웹 브라우저 성능이 향상되기 시작하면서 자바스크립트가 대중적인 언어로 자리 잡기 시작함
특징
인터프리터 언어
최근 자바스크립트 코드를 컴파일하는 JIT 컴파일러(Just In Time Compiler)가 내장되어 실행속도가 빨라짐 자바스크립트를 활용한 고기능 웹 애플리케이션을 구현할 수 있게 된 요인 중 하나
동적 프로토타입 기반 객체 지향 언어
클래스가 아닌 프로토타입을 상속하는 프로토타입 기반 객체 지향 언어 객체를 생성한 후에도 프로퍼티와 메소드를 동적으로 추가하거나 삭제할 수 있음
동적 타입 언어
변수 타입이 없어서 프로그램 실행 도중 변수에 저장되는 데이터 타입이 동적으로 바뀔 수 있음
함수가 일급 객체
자바스크립트의 함수는 객체이며, 함수에 함수를 인수로 넘길 수 있음.
ECMAScript(코어언어)
ECMA(Ecma International)라는 조직의 TC-39 위원회가 표준화 작업을 하고, ECMA-262 문서로 공개 됨
클라이언트 측의 고유한 기술요소
window 인터페이스 : 자바스크립트로 브라우저 또는 창을 조작하는 기능 제공
DOM : 자바스크립트로 HTML문서의 요소를 제어하는 기능 제공
XMLHttpRequest : 서버와 비동기로 통신하는 기능 제공
서버 측 고유한 기술요소
Node.js : 구글이 개발한 자바스크립트 실행 환경 (자주 사용됨)
Aptana Jaxer : 압타나 사가 개발하고 현재는 오픈소스로 개발되고 있는 자바스크립트 실행 환경
MAScript 6
2015년 6월에 권고된 새로운 버전이고, ECMAScript 2015라고도 불림
2009년에 권고된 ECMAScript 5 이후로 가장 크게 변화됨. 다른 프로그래밍 언어가 제공하는 다양한 기능을 추가하면서도 이전 자바스크립트 버전과의 호환성을 보장
웹 브라우저별 구현 상황
https://kangax.github.io/compat-table/es6/
ECMAScript 6가 대중화되기 위한 토대가 거의 마련 됨
ECMAScript 2017 작업이 진행 중
ECMAScript 6 사양에 포함되지 못했던 기능을 도입하는 소규모 개정판이 될 예정
'개발 > JAVA' 카테고리의 다른 글
The blank final field chatRepository may not have been initialized 오류. Spring lombok 오류 (0) 2021.10.11 JAVA_ Javascript 변수의 정의와 출력, 연산 (0) 2021.09.16 JAVA_ 뷰포트 정의, 미디어 쿼리, 미디어 유형, 화면 회전 설정 (0) 2021.09.16 JAVA_ 반응형 웹 정의, 장점 (0) 2021.09.16 JAVA_ 배열 정의, 배열 개수 확인, 요소 추가/제거, 출력 (0) 2021.09.16 댓글 (비로그인 댓글 허용하지 않습니다.)