songin.dev님의 블로그

자바스크립트 기본 타입 본문

Developer/Langauge

자바스크립트 기본 타입

songin.dev 2022. 7. 9. 14:28
728x90

자바스크립트 기본 타입

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

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

자바스크립트는 변수를 선언할 때 타입을 미리 정하지 않고, var라는 한 가지 키워드로만 변수를 선언한다.

이렇게 선언된 변수에는 어떤 타입의 데이터라도 저장하는 것이 가능하다.

따라서 자바스크립트는 변수에 어떤 형태의 데이터를 저장하느냐에 따라 해당 변수의 타입이 결정된다.

// 숫자 타입
var intNum = 10; 
var floatNum = 0.1;

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

// 불린 타입
var boolVar = true;

// undefined 타입
var emptyVar;

// null 타입
var nullVar = null;

console.log(
    typeof intNum, // number
    typeof floatNum, // number
    typeof singleQuoteStr, // string
    typeof doubleQuoteStr, // string
    typeof boolVar, // boolean
    typeof emptyVar, // undefined
    typeof null // object
);

 

숫자(number)

var 키워드로 선언된 자바스크립트 변수에는 정수나 실수 구분 없이 그 값을 바로 저장할 수 있으므로, intNum, floatNum 변수 모두 typeof 연산자의 결괏값이 number 타입이다.

자바스크립트에서는 정수형이 따로 없고, 모든 숫자를 실수로 처리하므로 나눗셈 연산을 할 때는 주의해야 한다.

var num = 5 / 2;

console.log(num); // 2.5

문자열(string)

문자열은 작은 따옴표(')나 큰 따옴표(")로 생성한다.

따라서 singleQuoteStr, doubleQuoteStr 변수의 typeof 연산자 결과는 string이다.

자바스크립트에서는 C언어, Java의 char 타입과 같이 문자 하나만을 별도로 나타내는 데이터 타입은 존재하지 않는다.

따라서 한 개의 문자를 나타내려면 singleChar 변수와 같이 길이가 1인 문자열을 사용해야 한다.

여기서 주의해야할 점은 한번 정의된 문자열은 변하지 않는다는 것이다.

// str 문자열 생성
var str = 'test';
consolelog(str[0], str[1], str[2], str[3]); // t e s t

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

문자열은 문자 배열처럼 인덱스를 이용해서 접근할 수 있다.

그러나 문자열의 개별 문자에 대한 수정은 불가능하다.

 

불린 값(boolean)

자바스크립트는 true와 false 값을 나타내는 불린 타입을 가진다.

boolVar 변수에 true라는 값을 저장했으므로 boolVar 변수는 boolean 타입이 출력된다.

 

null과 undefined

이 두 타입은 모두 자바스크립트에서 '값이 비어있음'을 나타낸다.

자바스크립트 환경 내에서 기본 적으로 값이 할당되지 않은 변수는 undefined 타입이며,

undefined 타입의 변수는 변수 자체의 값 또한 undefined이다.

emptyVar 변수에는 아무런 값이 할당되지 않았으므로 undefined 타입이 출력된 것이다.

nullVar 변수와 같이 null 타입 변수의 경우는 개발자가 명시적으로 값이 비어있음을 나타낸다.

여기서 주의할 점은 nullVar 변수의 경우 typeof 결과가 null이 아니라 object라는 것이다.

따라서, null 타입 변수인지를 확인할 때는 typeof 연산자를 사용하면 안 되고, 일치 연산자(===)를 사용해야 한다.

// null 타입 변수 생성
var nullVar = null;

console.log(typeof nullVar === null); // false
console.log(nullVar === null); // true;

- 본 포스팅은 "인사이드 자바스크립트" 책을 기반으로 작성한 글입니다.

반응형
Comments