반응형

Javascript 기본 데이터 타입


기본 데이터 타입


- 자바스크립트에서 기본타입은 숫자(number), 문자열(String), 불린값(boolean) 그리고 null과 undefined가 있다.
기본데이터타입의 특징은 그 자체가 하나의 값을 나타낸다.
때문에 이름과 값을 프로퍼티로 가지는 객체의 개념과는 다르기 때문에, 객체가 아닌 하나의 변수이다.


숫자(number)


- 자바스크립트의 타입체크는 굉장히 너그롭다(?)
숫자형의 경우 C언어, 혹은 Java에서 int, float, double 등 다양하지만, 자바스크립트에서는 오로지 number 타입으로 존재한다.


※ 또한 자바스크립트 에서는 정수형이 따로 없고, 모든 숫자를 실수로 처리 하므로 

var num = 5 / 2; 를 출력하면 2.5 가 나오게 된다.

정수형만 추출하고 싶을땐, Math.floor(num); 이런식으로 자바스크립트 메서드를 사용해야 한다.

var intNum = 100;

console.log("intNum의 타입 == ", typeof intNum);

var floatNum = 8.5;

console.log("floatNum의 타입 == ", typeof floatNum);

위와같이 콘솔을 찍어보았을때 결과는 어떻게 나오는지 보면 알 수 있다.

C언어와는 다르게, 둘다 number 가 나오는 것을 알 수 있다.


※ typeof 연산자는 해당 변수나 객체가 어떤 타입인지를 체크하는 연산자 이다. 피연산자의 타입을 리턴해준다.



문자열(String)


- 문자열은 ''(작은따옴표) 나 ""(큰따옴표)로 표기한다. 기본데이터타입의 문자열의 경우 한번 정의된 문자열은 변하지 않는다.

var str = 'test';

console.log(str[0]); // 출력값 = t


str[0] = 'T'

console.log(str[0]); // 출력값 = t (변하지 않음)

여기서 오해의 소지가 있을 수 있는게, 문자열의 변환이 안된다는 뜻이 str은 평생 'test' 라는 문자열을 가지고 간다는 것이 아니다.

str의 값을 바꾸기 위해서는, str객체를 '재정의' 해야 한다는 뜻이다.

var str = 'test';

console.log(str[0]); // 출력값 = t


this.str = 'TEST';

console.log(str[0]); // 출력값 = T (str 변수가 'TEST'로 바뀜)


불린값(boolean)


- 불린값은 옳고 그름을 나타내는 변수다. true(참) / false(거짓) 의 두가지만을 값으로 가진다.

var blnVar = true;

console.log(typeof blnVar); // 출력값 boolean


if(blnVar){ console.log("조건식에 합당"); }else{ console.log("조건식에 부당"); }


※ 위 예시코드는 간단하게 if문으로 blnVar가 true를 가지고 있는지, false를 가지고 있는지 확인하였다.

boolean값을 활용하는 예시코드는 무궁무진하지만, 기본 사용법만 알아보았다.


null, undefined


- 자바스크립트에서 null과 undefined의 는 둘다 '값이 비어있음' 을 나타낸다. 차이가 있다면 null의 경우 값이 '비어있다'의 의미이고,

undefined의 경우는 '값이 할당되지 않음' 의 차이를 가지고 있다.


주의할 점은, null타입 변수의 경우는 타입체크를 할 때에, typeof 연산자의 결과값이 null이 아닌 object로 나오게 된다.

null타입 변수인지를 확인할때에는 일치연산자(===) 를 사용해서 변수의 값을 직접 확인해야 한다.

var nullVar = null;

console.log(typeof nullVar) // 출력값 object

console.log(nullVar === null) // 출력값 true


var emptyVar;

console.log(typeof emptyVar) // 출력값 undefined




반응형

+ Recent posts