끵뀐꿩긘의 여러가지

[부스트코스]웹 프로그래밍 15. JS 기초(1)-자료형 본문

부스트코스 - 웹/2. DB 연결 웹 앱

[부스트코스]웹 프로그래밍 15. JS 기초(1)-자료형

끵뀐꿩긘 2020. 2. 27. 10:21

웹 프로그래밍에서 동적인 부분을 담당하는 친구인 자바 스크립트의 변천사와 간단한 자료형을 알아보도록 하겠습니다.


자바스크립트란 무엇인가?

 

자바스크립트의 버전

  • 자바스크립트 버전은 ECMAScript(줄여서ES)의 버전에 따라서 결정되고, 이를 자바스크립트 실행 엔진이 반영합니다.
  • ES5, ES6(ES2015).. 이런 식으로 버전을 일컫습니다.
  • 2018년을 중심으로 ES6를 지원하는 브라우저가 많아서 몇 년간 ES6 문법이 표준으로 쓰이고 있습니다.
  • ES6는 ES5문법을 포함하고 있어 하위호환성 문제가 없습니다.
  • 다만 feature별로 지원하지 않는 브라우저가 있을 수 있어 조심해야 합니다.

변수와 연산자, 데이터 타입


변수

변수는 var, let, const 로 선언할 수 있습니다.

어떤 것을 사용하는가에 의해서 scope, 즉 변수의 유효범위가 달라집니다.

ES6이전까지는 var를 사용해서 변수를 선언할 수 있습니다.

 

연산자

연산자 우선순위를 표현하기 위해서는 ()를 사용하면 됩니다. 

수학연산자는 +,-,*,/,%(나머지) 등이 있습니다.

그리고 논리 연산자, 관계연산자, 삼항연산자도 있습니다. 

 

연산자 - 삼항연산자

간단한 비교와 값 할당은 삼항연산자를 사용할 수 있습니다.

 

연산자 - 비교연산자

비교는 == 보다는 ===를 사용한다.

==로 인한 다양한 오류 상황이 있는데 아래 결과를 참고해봅시다. 

 

자바스크립트의 또 다른 Type

 

> undefined, null, boolean, number, string, object, function, array, Date, RegExp

 

 

ex)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//변수
 
var a = 2;
var a = "aaa";
var a = 'aaa';
var a = true;
var a = [];
var a = {};
var a = undefined;
 
 
//연산자 or
const name = "crong";
const result = name || "codesquad";
console.log(result);
var name = "";
var result = name || "codesquad"// result에 name 값이 있으면 그 값을, 없으면 "codesqiad"를 입력한다.
console.log(result);
//연산자 삼항
const data = 11;
const result = (data > 10) ? "ok" : "fail";//result에 data가 10보다 크면 ok를 아니면 fail을 입력한다.
console.log(result);
//연산자 ==,===
0 == false;
"" == false;
null == false;
0 == "0";
null==undefined;  // ===은 타입까지 비교하며, ==은 그 값을 짐작하여 비교한다.
cs

타입은 선언할 때가 아니고, 실행타임에 결정됩니다.

함수안에서의 파라미터나 변수는 실행될 때 그 타입이 결정됩니다. 

타입을 체크하는 또렷한 방법은 없습니다.

정확하게는 toString.call 함수를 이용해서 그 결과를 매칭하곤 하는데, 문자, 숫자와 같은 자바스크립트 기본 타입은 'typeof' 키워드를 사용해서 체크할 수 있습니다. 

배열은 타입을 체크하는 isArray함수가 표준으로 생겼습니다.

IE와 같은 구 브라우저를 사용해야 한다면 지원범위를 살펴보고 사용해야 합니다.

 


 

Comments