버전
2018년을 중심으로 ES6를 지원하는 브라우저가 많아서 몇 년간 ES6문법이 표준으로 쓰이는 상황입니다.
다만 feature별로 지원하지 않는 브라우저가 있을 수 있다.
변수
변수는 var, let, const로 선언할 수 있으며
각 변수마다 scope의 유효범위가 달라집니다.
var 의경우 변수명이 중복으로 페이지에서 선언되어도 작동
const, let은 중복변수명이 존재할 경우 오류
const는 java의 final 속성과 유사하며 선언과 동시에 값 할당 필수
let은 선언 이후 값 할당이 자유로움
연산자
연산자 우선순위를 표현하기 위해서는 ()를 사용합니다.
수학 연산자는 +,-,*,/,%가있다.
논리 연산자, 관계 연산자, 삼항 연산자가 존재합니다.
a || b -> a가 참이라면 a만 실행한다.
a && b -> a와 b모두 참이라면 b를 실행한다.
삼항 연산자
간단한 비교와 값 할당은 삼항 연산자를 사용할 수 있습니다.
const date = 3;
const result = (date >10)? "크다" : "아니면 작다";
비교 연산자
비교 == 보다는 ===를 많이 사용합니다.
==는 너그러운 비교를 하기 때문에 많은 오류를 발생시킬 수 있습니다.
3개는 정확한 타입을 비교하지만 ==는 값만 비교합니다.
자바스크립의 Type
undefined , null, boolean, number, string , object , function
타입은 선언할 때가 아니고, 실행 타임에 결정됩니다. 함수 안에서 파라미터나 변수는 실행될 때 그타 입이 결정된다.
타입을 체크하는 또렷한 방법은 없지만 toString.call을 이용해 그 결과를 매칭 하곤 하는데 문자, 숫자와 같은 기본 타입은 typeof 키워드를 사용해서 체크할 수 있다.
배열의 경우 타입을 체크하는 isArray함수가 표준으로 존재합니다.
typeof는 어떤 객체의 인스턴스인지 정확히 알려주지 않습니다.
toString.call은 어떤 객체의 타입의 인스턴스인지 알려줍니다.
'JavaScript' 카테고리의 다른 글
[ES6] Promise (0) | 2020.07.02 |
---|---|
생성자와 프로토타입 (0) | 2020.05.28 |
JSON (0) | 2020.05.27 |
Javascript(3) (0) | 2020.05.26 |
JavaScript (2) (0) | 2020.05.13 |
댓글