1. 기본 타입
- Data Type이란 프로그램엑서 다를 수 있는 값으 종류를 의미한다.
- 자바스크립트의 타입은 다른 언어와 다르게 원시 타입(primitive type)과 객체 타입으로 구분된다.
- 원시 타입은
# 숫자 (number)
# 문자열 (String)
# 블린 (boolean)
# 심볼 (sysmbol)
# undefined
- 객체 타입은
# 객체 (Object)
자바스크립트는 다른 언어와 다르게 정수(Int) 실수(double,long)을 따로 구분하지 않고, 모든 숫자를 하나로만 표현한다.
var num1 = 10;
var num2 = 10.0;
다른언어에서는 ""는 문자열 ''은 문자라고 표현하지만 자바스크립트에서는 그러한 구별없이 표현된다.
하지만 문자열안에 따음표를 또 적으려면 ""안에 '' 혹은 ''안에 "" 이런식으로 처리가 가능하다.
var str1 = "안녕";
var str2 = '안녕';
var str3 = "안녕 나는 '27살'이야";
var str4 = '안녕 나는 "27"살 이야';
* 자바스크립트에서는 문자열과 숫자를 더할 수 있는데 이럴 경우에는 숫자를 문자열로 자동으로 변환하여 표현된다.
var num = 27;
var str = "살";
console.log("안녕 나는" + num + str + "이야");
//안녕 나는27살이야
boolean은 다른 언어와 동일하게 true false를 표현한다.
심볼은 유일하고 변경할 수 없는 타입으로 객체의 프로퍼티를 위한 식별자를 사용할 수 있다.
var sym = Symbol("javascript"); // symbol 타입
var symObj = Object(sym); // object 타입
typeof연산자는 이 변수의 타입이 어떤지 보여준다
var num = 10;
console.log(typeof(num));
// number
* null과 undefined 는 다른 의미로 null은 object타입으로 정해지지 않은 것이라는 뜻이 있다.
undefined는 초기화되지 않은 변수나 존재하지 않은 값으로 나타낸다.
즉 null은 개발자가 의도하고 값을 정하지 않은 것이지만, undefined는 의도하지 않게 존재하지 않은 값이라고 생각할 수 있다.
null == undefined //ture => 존재하지않은 값은 동일
null === undefined //false => 타입이 다르다 null은 Object
2. 타입 변환
- 자바스크립트는 타입 검사가 유연한 언어이며 타입이 정해져 있지 않아서 같은 변수에 다른 타입의 값을 다시 대입할 수 있다.
var num = 10; //numver
num = "십"; //String
var num; //false => 값을 다시 대입할 수 있지만 변수의 재선언은 할 수없다.
- 자바스크립트는 위에서 말했듯 타입에 대한 변환이 유연하기 때문에 다른언와 차이가 명확하다
10 + "살" // 문자열 연결을 위하여 10은 문자열로 반환된다.
"1" + "1" // 합이 되기 위하여 "1"은 둘다 숫자로 변환이 된다.
1 + "문자" // NaN
** NaN **
Not a Number의 줄임말로, 정의되지 않은 값이나 표현할 수 없는 값이라는 의미를 가진다.
'study > js' 카테고리의 다른 글
JavaScript#4 제어문 (0) | 2021.07.16 |
---|---|
JavaScript#3 연산자 (0) | 2021.07.12 |
JavaScript#1 소개 (0) | 2021.07.08 |
JavaScript_Prototype (0) | 2021.07.07 |
JavaScript_동기와 비동기 (0) | 2021.07.07 |