All In One_IT

[Java Script] 04. 자바 스크립트 자료형(Data type) 본문

Java Script

[Java Script] 04. 자바 스크립트 자료형(Data type)

All_In_One 2020. 10. 27. 02:41


자료형 (Data type) 이란?

프로그램에서 다룰 수 있는 값의 종류를 의미한다.

자바스크립트는 느슨한 타입(loosely typed), 동적(dynamic) 언어이다.

무슨 말이냐면 변수의 타입을 미리 선언할 필요가 없다는 것이다. 타입은 프로그램이 처리되는 과정에서 자동으로 파악이 되고 처리가 될 것이다.

let test1 = 100; //test1 는 Number 타입 변수임.
let test2 = "bar"; //test2 는 String 타입 변수임.
let test3 = true; //test3 는 Boolean 타입 변수임.
let test4; //test4 는 undefined 타입 변수임.

자료형 (Data type) 종류

최신 ECMAScript 표준은 다음과 같은 7가지 자료형을 정의하고있다.

  • 기본 자료형(Primitive) 
    • Boolean
    • Null
    • Undefined
    • Number
    • String
    • Symbol (ECMAScript 6 에 추가됨)
  • Object 자료형

기본 타입 (Primitive)

오브젝트를 제외한 모든 값은 변경 불가능한 값 (immutable value) 이다. 예를 들자면, 특히 C 언어와는 다르게도 문자열은 불변값 (immutable) 이다. 이런 값을 "primitive values" 라고 일컫는다.

 

Boolean
Boolean 은 논리적인 요소를 나타내고, true(참) 와 false(거짓)의 두 가지 값을 가질 수 있다.
아래 타입은 거짓으로 판명되는 타입이다.
 - false
 - undefined
 - null
 - 0
 - NaN
 - ("") 빈 문자열
null == undefined; // true
null === undefined; //false
Null 과 Undefined
Null 경우 Object 타입이며, 아직 '값'이 정해지지 않은 것을 의미한다.
Undefined 경우 '타입'이 정해지지 않은 것을 의미한다.
Null 과 Undefined는 타입을 제외하면 같은 의미지만, 타입이 다르므로 일치하지는 않는다.
이는 동등 연산자(==)와 일치 연산자(===)로 비교하면 알 수 있다.
let Num1 = 10; // 소수점을 사용하지 않은 표현
let Num2 = 10.00; //소수점을 사용한 표현
let Num3 = 10e6; // 10000000
let Num4 = 10e-6; // 0.00001

Number

자바스크립트는 다른 언어와는 달리 정수와 실수를 따로 구분하지 않고, 모든 수를 실수 하나로만 표현한다.
e 표기법을 사용하여 매우 큰 수나 작은 수 를 표현할수도있다.
let str1 = "테스트 문자열" //큰 따옴표("")를 사용한 문자열
let str2 = '테스트 문자열' //작은 따옴표('')를 사용한 문자열
String
문자열은 큰 따옴표(""), 작은 따옴표('')로 둘러싸인 문자의 집합을 의미한다.
let symbol = Symbol("javascript"); // symbol 타입
let sysbolObj = Object(sym); //Object 타입
Sysmbol
ECMAScript 6부터 새롭게 추가된 타입이다.
심볼은 변경할 수 없는 타입으로, 객체의 프로퍼티를 위한 식별자로 사용할 수 있다.

객체 (Object)

자바스크립트의 기본 타입은 객체(object)타입이다. 객체는 프로퍼티(property)나 메소드(method)를 같은 이름으로 묶어놓은 일종의 집합체이다.

let person = {name: "홍길동", age: 20}; //객체 생성

console.log(person.name); // 홍길동 출력
console.log(person['age']); //20 출력

typeof 연산자

typeof 연산자는 피연산잔의 타입을 반환하는 연산자이다.

typeof 20; // number 타입
typeof true; //boolean 타입
typeof undefined; // undefined 타입
typeof null; // object 타입
typeof "문자열" //string 타입

 

반응형