동적 타이핑
변수를 선언할 때 데이터 타입을 미리 지정하지 않는다.
즉 변수에 할당된 값의 타입에 의해 동적으로 타입이 결정된다.
문
세미콜론(;)으로 끝나야 한다.
블록 유효범위를 생성하지 않는다. > 함수 단위의 유효범위만이 생성된다.
객체
객체 기반의 스크립트 언어이며 javascript를 이루고 있는 거의 모든 것이 객체이다.
키와 값으로 구성된 프로퍼티의 집합이다.
프로퍼티 값으로 함수를 사용할 수 있는데, 이를 메소드라 부른다.
객체지향의 상속을 구현하기 위해 "프로토타입"이라고 불리는 객체의 프로퍼티와 메소드를 상속받을 수 있다.
데이터 타입
하나의 숫자 타입만 존재한다.
정수만을 위한 타입이 없고 모든 수를 실수로 처리한다.
원시 타입은 6가지가 있다.
number
string
boolean
underfined
null
symbol
같은 식별자에 새로운 문자열이 들어와도 기존 문자열은 사라지지 않고 메모리에 존재한다.
한 번 생성된 문자열은 변경할 수 없다.
하지만, 재할당은 가능하다.
변수 호이스팅
변수를 선언하기 전에 참조가 가능하다.