
ECMA Script 1
...
ECMA Script 5 부터 MS 참여
ECMA Script 6
...
ECMA Script 10 계속 진행 중.
<script src="경로/파일명.js"></script>
<script>는 다운로드와 실행이 순차적으로 진행되는 것과 달리 defer 속성을 가진 스크립트는 브라우저가 <script defer>를 만났을때 다운로드를 시작하지만, html 파싱이 막히지 않고 진행됨.
데이터(값)을 저장할 수 있는 메모리 공간
x = 10
x : 저장공간 이름
= : 대입연산자
10 : value
오른쪽에 있는 값을 왼쪽의 저장공간에 넣어라
변수명 앞에 let이 붙어있으면 선언
let 변수명; //선언
변수명 = 값 //초기화
var - 사용안함
1. 같은 이름의 변수를 선언할 수 있음
2. 지역변수와 전역변수의 구별이 모호
undefined : 타입이 정해지지 않음.
한번 선언된 상수는 다시 재정의 할 수 없으며, 값도 재할당 할 수 없다.
const 상수명;
상수명 = 값; -> 에러발생
const 상수명 = 값;
프로그램에서 다룰 수 있는 값의 종류를 말한다.
숫자형(number)
문자열형(string)
undefined
null
객체형(object)
여러 속성, 여러 값을 하나의 변수에 저장할 수 있도록 해주는 타입이다.
key-value 구조로 이루어져 있다.
let apple_id = "apple"
let apple_pw = "abcd123"
let apple_age = 10
↑ 매우 불편
let apple = {id : "apple", pw:"abcd123", age: 10}
--- : ------
key : value
.(하위 연산자)
A.b -> A안에 b
심볼형(Symbol)
유일하고 변경 불가능한 기본 값을 만드는 타입이다.
객체 속성의 key값으로 사용할 수 있다.
const symbol1 = Symbol("apple");
const symbol2 = Symbol("apple");
// === : 양쪽의 타입과 값이 같으면 true / 아니면 false
console.log(symbol1===symbol2); //false
const symbol3 = Symbol("banana")
const symbol4 = symbol3;
console.log(symbol3);
console.log(symbol4 === symbol3); //true
지역변수를 전역에서 사용을 막아서 오류를 방지한다.
// use strict 이면 사용 못함.
{let num1 = 15}
num1 = 10;
console.log(num1)