3. 자바스크립트 데이터 타입과 연산자 #1 자바스크립트 기본타입

2021. 7. 16. 18:37JavaScript/basic

본 글은 INSIDE JavaScript 도서의 내용을 복습하기 위해서 작성된 글입니다.

 

자바스크립트 데이터 타입

  • 기본 타입
    1. 숫자(Number)
    2. 문자열(String)
    3. 불린값(Boolean)
    4. undefined
    5. null
  • 참조 타입
    1. 객체
      1. 배열(Array)
      2. 함수(Function)
      3. 정규표현식

3.1 자바스크립트 기본 타입

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

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

// 불린 타입
let boolVar = true;

// undefined 타입
let emptyVar;

// null 타입
let nullVar = null;

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

 

3.1.1 숫자

자바스크립트는 하나의 숫자형만 존재한다. 모든 숫자를 64비트 부동 소수점 형태로 저장하기 때문이다. 자바스크립트는 정수형이 따로 없기 때문에 나눗셈 연산에 주의해야 한다.

let num = 5/2;
console.log(num);               // 2.5
console.log(Math.floor(num));   // 2

 

3.1.2 문자열

문자열은 작은 따옴표(')나 큰 따옴표(")로 생성한다. 자바스크립트에서는 한번 생된 문자열은 읽기만 가능하지 수정은 불가능하다.

// str 문자열 생성
let str = 'test';
console.log(str[0], str[1], str[2], str[3]);    // t e s t

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

 

3.1.3 불린값

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

 

3.1.4 null과 undefined

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

 

undefined 타입

undefined는 기본 타입으로, 선언한 후에 값을 할당하지 않은 변수나 값이 주어지지 않은 인수에 자동으로 할당된다. 이 값은 전역 객체의 속성 중 하나로, 전역 스코프에서의 변수이기도 하다. 따라서 undefined 변수의 초기 값은 undefined 원시 값이다.

 

null 타입

null은 기본 타입 중 하나로, 어떤 값이 의도적으로 비어있음을 표현한다. undefined는 값이 지정되지 않은 경우를 의미하지만, null의 경우에는 해당 변수가 어떤 객체도 가리키고 있지 않다는 것을 의미한다.

 

null과 undefined 타입의 차이점

undefined은 변수를 선언하고 값을 할당하지 않은 상태, null은 변수를 선언하고 빈 값을 할당한 상태(빈 객체)이다.

즉, undefined는 자료형이 없는 상태이다. 따라서 typeof를 통해 자료형을 확인해보면 null은 object로, undefined는 undefined가 출력되는 것을 확인할 수 있다.

 

typeof null // 'object'
typeof undefined // 'undefined'
null === undefined // false
null == undefined // true
null === null // true
null == null // true
!null // true
isNaN(1 + null) // false
isNaN(1 + undefined) // true

 

Reference

source code : https://github.com/yonghwankim-dev/javascript_study/tree/main
INSIDE JavaScript, 송형주, 고현준 저
null과 undefined의 차이점, https://2ssue.github.io/common_questions_for_Web_Developer/docs/Javascript/13_undefined&null.html#undefined