영벨롭 개발 일지

[JavaScript]자바스크립트의 데이터 타입 Data Type 본문

Programming Language/JavaScript

[JavaScript]자바스크립트의 데이터 타입 Data Type

영벨롭 2022. 3. 15. 17:37

JavaScript의 데이터 타입(Data Type)

 

1. 원시 타입(Primitive data type)

 

: 변경 불가능한 불변 데이터입니다. 

  • Boolean 타입: 논리 요소를 나타냅니다. 값: true/false
  • Null 타입: false랑은 다른 의미로, 변수가 비어있음을 나타냅니다. 값: null
  • Undefined 타입: 생성 후 아무런 값을 할당받지 않은 변수가 갖는 타입입니다. 값: undefined
  • Number 타입: 숫자를 나타내는 데이터 타입입니다. 2^53-1 부터 2^53-1까지 나타낼 수 있습니다. 값: 숫자

 Number 타입은 정수, 실수, 2진수, 8진수, 16진수를 모두 표현할 수 있습니다. 2진수는 0b, 8진수는 0o, 16진수는 0x를 수 앞에 붙입니다.

 

 숫자 타입은 추가적으로 세가지 특별한 값도 표현할 수 있습니다. 

(1) Infinity : 양의 무한대

(2) -Infinity : 음의 무한대

(3) NaN : 산술 연산 불가, 숫자가 아닌 데이터(Not a Number)

 

  • BigInt 타입: Number 타입의 한계를 넘어서 큰 정수도 나타낼 수 있습니다. 값: 숫자n
  • String 타입: 문자열을 나타냅니다. 값: "문자열"
  • Symbol 타입: 고유하고 변경 불가능한 원시 값이며 객체의 속성 키로 사용할 수 있습니다. 

 Symbol 타입 이외의 원시 값은 리터럴을 통해 생성하지만 심벌은 Symbol 함수를 호출해 생성합니다. 

 

 이때 생성된 심벌 값은 외부에 노출되지 않으며, 다른 값과 절대 중복되지 않는 유일무이한 값입니다. 

 

 

const Bool = true;
const Null = null;
const Undefined = undefined;
const Num = 1;
const Bigint = 2n ** 53n;
const String = "hello";
const Sym = Symbol('key');

console.log(Bool); //true
console.log(Null); //null
console.log(Undefined); //undefined
console.log(Num); //1
console.log(Bigint); //9007199254740992n
console.log(Sym); //Symbol(key)

 

 

 

 

2. 객체 타입(Object Type, Reference Type)

 

 객체는 데이터와 그 데이터에 관련한 동작(절차, 방법, 기능)을 모두 포함할 수 있는 개념적인 존재입니다. 

 

const object = {
    name: "홍길동",
    age: 20,
    printAge: function () {
        console.log(object.age);
    }
}

 

 위 코드에서 object 객체의 age 데이터를 접근하기 위해선 object.age 또는 object["age"] 를 하면 됩니다. 

 

 또한 데이터를 추가로 만들 수도 있습니다. 만약 major라는 데이터를 "컴퓨터공학과"라는 값으로 object에 추가하고 싶다면, object.major = "컴퓨터공학과"를 하시면 됩니다.  

반응형