본문 바로가기
Computer Science/Javascript

JavaScript - 데이터 타입과 연산자(기본타입)

by 마늘아빠 2021. 4. 11.
728x90
반응형

자바스크립트의 데이터 타입과 연산자에 관해서 공부하자!

기본타입 - 숫자 / 문자열 / 불린값 / null / undefined

자바스크립트 기본 타입

자바스크립트 데이터 타입

자바스크립트의 기본 타입은 숫자, 문자열, 불린 값을 비롯해, null, undeined라는 타입이 있다.

해당 변수가 어떤 타입을 가지고 있는지 확인하고 싶을 때는 typeof 연산자를 이용하면 된다!

자바스크립트는 느슨한 타입 체크 언어이다.

즉, char, int, float 등 예약어를 이용해 변수의 타입을 지정해줄 필요가 없다.

타입을 미리 정하지 않고, var / let 키워드로 변수를 선언한다. ( var는 전역, let은 지역으로 이해하자 )

이때, 어떤 타입의 데이터라도 저장하는 것이 가능하다! 어떤 형태의 데이터를 저장하느냐에 따라 해당 변수의 타입이 결정된다.


아래는 예시 코드

기본 타입 typeof 출력 결과 코드
// 숫자타입
var intNum = 10;
var floatNum = 0.1;

// 문자열타입
var singleQuoteStr = 'Single quote';
var doubleQuoteStr = 'double quote';
var singleChar = 'a';

// 불린타입
var boolVar = true;

// undefined 타입
var emptyVar;

// null 타입
var nullVar = null;

console.log(
     typeof intNum,
     typeof intfloatNumNum,
     typeof singleQuoteStr,
     typeof doubleQuoteStr,
     typeof singleChar,
     typeof boolVar,
     typeof emptyVar,
     typeof nullVar
);

출력 결과


숫자(number)

자바스크립트는 모든 숫자를 64비트 부동 소수점 형태로 저장한다. 따라서 위의 예시 코드에서 int와 float 모두 number 타입으로 저장이 되는 것을 확인할 수 있다. 

정수형이 따로 없고, 모든 숫자를 실수로 처리하므로 나눗셈 연산을 할 때는 조심할 필요가 있다.

예를 들어 다른 언어에서 5/2는 소수 부분을 버린 2가 되지만 자바스크립트에서는 2.5가 된다.

소수 부분을 버리고 싶다Math.floor(number) 메서드를 이용하자!

 

문자열(string)

문자열은 작은 따옴표( '' ) 혹은 큰 따옴표( "" )로 생성한다. 따라서 위의 예시 코드에서 작은따옴표, 큰 따옴표 모두 string 타입으로 저장되는 것을 확인 할 수 있다. 그리고 char타입과 깉이 문자 하나만을 별도로 나타내는 데이터 타입은 존재하지 않는 것을 확인할 수 있다. 한 개의 문자를 나타내려면 변수 길이 1인 문자열을 사용해야 한다.

주의할 점은 한 번 정의된 문자열은 변하지 않는다는 것이다!


문자열 수정 테스트 코드
// str 문자열 생성
var str = 'test';
console.log(str[0], str[1], str[2], str[3]);

// 문자열의 첫 글자를 대문자로 변경
str[0] = 'T';
console.log(str);

출력 결과


위의 출력 결과와 같이 문자열은 배열처럼 인덱스로 접근은 가능하지만 수정은 되지 않는 것을 확인할 수 있다.

 

불린 값(boolean)

자바스크립트 역시 boolean 타입으로 true, flase가 있다

 

null과 undefined

이 두 타입은 값이 비어있음을 나타낸다. 값 자체가 할당되지 않은 경우 undefined이다. undefined 타입의 변수는 변수 자체의 값 또한 undefined이다. 즉, undefined는 타입이며, 값을 나타낸다.

하지만 null 값은 다르다. null 타입의 변수개발자가 명시적으로 값이 비어있음을 나타내는 데 사용한다.

null의 typeof 결과는 null이 아닌 Object임에 주의하자. null 타입의 변수인지 확인할 때는 일치 연산자(===)를 사용해서 값 자체를 직접 확인해야 한다.


null 타입 확인 주의 코드
// null 타입 변수 생성
var nullVar = null;

console.log(typeof nullVar === null); // 타입은 null이 아니다.
console.log(nullVar === null); // 값 자체는 같다.

출력 결과


 

반응형