개발자를 희망하는 초보의 자기개발 이야기

JavaScript 자료형(Data Type) 본문

프론트엔드(Front-end)/JavaScript

JavaScript 자료형(Data Type)

클라우드아실 2020. 12. 13. 21:58
반응형

JavaScript 자료형(Data Type)

자료형(Data Type)

 : 변수에는 다양한 자료형(Data Type)이 있습니다. JavaScript는 다른 언어와 달리 자료형을 별도로 표기하지 않고, 할당된 값에 따라 자동으로 결정 됩니다. 장점이라 생각할 수도 있지만 오류를 발생시킬 수 있기 때문에 단점이 더 크게 작용합니다. 자주 쓰는 자료형은 아래와 같습니다.

1. 숫자 (Number)

 : 다른 언어와 달리 정수, 소수를 표현하기 위한 별도의 자료형이 없습니다.

let weight = 67;
let realWeight = 107.3;

 

2. 문자열 (String)

 : 다른 언어와 달리 문자, 문자열을 따로 구분하지 않습니다. 큰따옴표("") 또는 작은따옴표('')로 감싸서 대입합니다.

let name = 'Lee';
let nickName = "Claude Ashil";
let myCar = "'car'"; // 따옴표를 대입해서 넣고 싶다면 바깥의 따옴표는 다른 종류로 감싸야 한다.
let nickName = 'Claude A\'shil'; // 따옴표 안에 같은 따옴표를 넣고 싶을 때 \를 추가하면 된다.
let car = 'car" // (x) 시작과 끝의 따옴표가 다르면 아직 대입이 완료되지 않았다고 판단하여 오류가 발생한다.

 

3. 객체 (Object)

 : 정보를 {키:값} 의 형태로 저장한 것입니다. 자바스크립트는 객체기반의 스크립트 언어이기 때문에 원시 타입(Primitives)을 제외한 나머지 값들(함수, 배열 등)을 객체로 인식합니다. 아래의 두 예시는 같으나 위의 방식으로 가독성 있게 입력합니다. 

let person = {
name : 'Lee' ,
age : 34 ,
isStudent : true
};


let person = {name : 'Lee' , age : 34 , isStudent : true}

 

4. 미할당(undefined)

 : 선언한 후 값을 할당하지 않은 변수 혹은 값을 주지 않은 인수에 자동으로 할당되는 값입니다.

let age; // 선언만 한 상태로 대입된 값이 없음. age의 결과값은 undefined

 

5. 의도적인 빈 값(null)

 : undefined와 달리 의도적으로 값이 없다는 것을 나타내는 것입니다. 의도적으로 값을 비울 영역은 undefined가 아니라 null을 할당해야 자바스크립트 엔진의 자동할당과 구분할 수 있습니다. 

let age; // 선언만 한 상태로 대입된 값이 없음. age의 값은 undefined
let weight = undefined; // 일부러 undefined를 할당해줌

// 결과는 둘 다 undefiend 이지만 일부러 그렇게 한 건지 놓친 건지 판단이 안 됨.

let age; // 놓친 부분이니 할당해야 되겠다 판단됨.
let weight = null; // 일부러 몸무게는 할당하지 않았다고 판단됨.

 

6. 참과 거짓 (Boolean)

 : 불린, 또는 불리언 이라고도 합니다. 참(true) 또는 거짓(false)을 결과로 반환합니다. 참은 1, 거짓은 0을 의미하기도 합니다. 

let result = 6 < 3; // false
let ending = true;

 

자료형 (Data Type) 알아내기

 : typeof는 변수의 데이터 타입을 확인할 수 있는 연산자입니다. 배열은 특이하게도 typeof에서 객체로 결과가 반환됩니다. 자바스크립트 자체가 기본적으로 모든 데이터를 객체형으로 처리하기 때문인데 정확한 배열을 판단하기 위해서는 별도의 메서드(특정 기능을 하는 코드)를 사용해야 합니다.

typeof 123; // 'number' 
typeof '문자'; // 'string' 
typeof falase; // 'boolean' 
typeof function a(){}; // 'function' 
typeof undefined; // 'undefined' 
typeof [1, 2, 3]; // 'object' 
typeof {key:value}; // 'object' 
typeof null; // 'object' 
typeof NaN; // 'number'

 

 : 배열의 정확한 판단을 위해서는 Array.isArray();메소드를 사용해야 합니다. 괄호 안에 판단하고자 하는 내용이나 변수 등을 넣으면 됩니다. 결과는 true 또는 false로 반환됩니다.

let a = [1, 2, 3];

Array.isArray([1, 2, 3]); // true
Array.isArray(a); // true
Array.isArray(1, 2, 3); // false
Array.isArray(A); // false
반응형

'프론트엔드(Front-end) > JavaScript' 카테고리의 다른 글

JavaScript 문자열(String)  (0) 2020.12.20
JavaScript 조건문(Condition)  (0) 2020.12.20
JavaScript 연산자(operator)  (0) 2020.12.20
JavaScript 함수(Function)  (0) 2020.12.14
JavaScript 변수(Variable)  (0) 2020.12.13