해당 글은 '자바스크립트 완벽가이드' 라는 책을 읽으며 정리한 글입니다.
자바스크립트 완벽가이드 1장(자바스크립트 소개)
자바스크립트는 고수준이고 동적이며 타입을 명시할 필요가 없는 인터프리터 언어로서 , 객체지향
프로그래밍 스타일과 함수형 프로그래밍 스타일을 모두 잘 표현하는 언어이다.
인터프리터는 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 말한다,
원시 코드를 기계어로 번역하는 컴파일러와 대비된다. 인터프리터는 한 가지 기능을 가진 프로그램이다.
출처 : 위키백과 - 인터프리터
자바스크립트(JS)는 웹 초창기인 현재 오라클이라 불리는 썬마이크로시스템즈에서 상표권 라이센스를 갖고 있어, 언어 자체 구현은
현재 모질라라고 불리는 넷스케이프에서 담당했다. 넷스케이프는 이 언어를 표준화하기 위해
ECMA(European Computer Manufacturer's Association) ** 에 제출했는데, 상표권 문제로인해 언어의 이름을 ECMAScript라고 정했다. 같은 이유로 , 마이크로소프트가 제작한 언어의 이름은 JScript가 되었으나 사람들은 모두 자바스크립트라고 부른다.
지난 십 년 동안 모든 웹브라우저에 탑재된 자바스크립트는 EcmaScript3 구현체였다.
최근에는 ECMAscript5 그리고 EcmaScript6까지 정의되었다.
자바스크립트 언어 자체로만 봤을때, 실질적인 버전은 ECMAscript 3과 5, 6 뿐이다.(ECMAScript 4는 기존의 자바스크립트와 다른점이 많아 세상에 나오지 못했다.)
모든 언어는 기초적인 입출력을 처리하는데 필요한 함수 API 기반이 되는 플랫폼 또는 표준 라이브러리를 포함하고 있지만
자바스크립트 언어의 코어는 최소한의 AP만 정의하고 입출력과 관련된 기능은 포함하고 있지 않다.
입출력을 비롯해 통신과 파일 저장, 그래픽 처리와 같은 복잡한 기능들을 자바스크립트를 내장하고 있는 호스트 환경에서 담당한다.
브라우저가 자바스크립트 엔진을 내장하고 있기 때문에 클라이언트 측 자바스크립트의 호스트 환경은 웹브라우저이다.
1.1 자바스크립트 코어
// 주석 주석은 해당 자바스크립트 코드를 설명하고 있다.
// 변수는 한 값을 위한 상징적인 이름이다.
// 변수는 var or let으로 키워드로 선언할 수 있다.
var a; // a 란 이름의 변수를 선언한다.
// 값은 = 기호를 통해 변수에 할당할 수 있다.
a = 0 // 변수의 값은 0 이다.
a // => 변수 a는 변수가 가진 값을 0으로 평가한다.
// 자바스크립트는 다양한 타입의 값을 지원
a = 1; // 숫자,
a = 0.01; // 정수 나 실수,
a = 'Hello World'; // 다음표 기호로 둘러싸인 문자열.
a = true; // 참을 뜻하는 불리언 값,
a = false; // 거짓을 뜻하는 불리언 값,
a = null; // null은 값이 없음을 뜻하는 특별한 값이다.
a = undefined; // undefined는 null과 유사하다.
1.1 자바스크립트 핵심
자바 스크립트[객체]에서 가장 중요한 데이터 타입
// (특징) (name-value pair)의 모음이다. 값에는 타입의 제한이 없고 이름은 String이어야 한다.
var book = {
topic: "JS",
fat: true
};
// (접근) 객체의 property는 , 또는 []을 통해 접근 가능하다.
특징 book.topic 또는 book["fat"]
할당 book.author = "Flanagan"(새로운 property 생성)
// [배열]
(선언) var primes = [1,2,3,4]
(index) primes[0] 또는 primes[primes