본문 바로가기
JavaScript

JavaScript

by oncerun 2020. 5. 12.
반응형

 

버전

 

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

댓글