DataType
데이터 타입이란 프로그래밍 언어에서 사용할 수 있는 데이터 (숫자, 문자열, 불리언 등)의 종류를 말한다.
-
원시타입 (Primitive value)
- number
- string
- boolean
- undefined
- null
- symbol (es6 추가 스펙)
-
객체 타입 (object / reference type)
- Array
- Object
- Function
- ...
Number
우리가 일반적으로 알고 있는 숫자와 동일하며, 덧셈(+) , 뺄셈(-), 곱셈(*), 나눗셈(/) 등의 연산을 할 수 있다.
// 숫자(number)
const num = 1
const num02 = 1.2
-
문자열을 숫자로 변경하는 방법도 존재한다
- parseInt (정수 변환)
// parseInt ( 문자 -> 숫자 (정수) 변환 )
console.log(parseInt('12')) // 12
console.log(parseInt('3.14')) // 3
console.log(parseInt('3.14 문자')) // 3
console.log(parseInt('문자 3.14')) // NaN ( 문자열이 앞에 있으면 NaN )
- parseFloat (소수 변환)
// parseFloat ( 문자 -> 숫자 (소수) 변환 )
console.log(parseFloat('12')) // 12
console.log(parseFloat('3.14')) // 3.14
console.log(parseFloat('3.14 문자')) // 3.14
console.log(parseFloat('문자 3.14')) // NaN ( 문자열이 앞에 있으면 NaN )
String
'' 혹은 "" 를 사용하여 내용을 감싸서 문자열로 표시한다.
// 문자(string)
const string = '2'
const string02 = "문자"
Boolean
논리적인 요소를 나타내며 true / false 를 반환한다.
// 논리 true or false (boolean)
const boolean = true;
const boolean02 = false;
null
존재하지 않는 값을 나타낸다
// 존재하지않음(null)
const Null = null;
undefined
값이 할당되지 않았을 경우를 나타낸다
// 비어있는값(undefined)
const Undefined = undefined;
Symbol
심볼은 ES6에서 새롭게 추가된 타입이다. 심볼은 주로 이름의 충돌 위험이 없는 유일한 객체의 프로퍼티 키를 만들기 위해 사용한다.
// es6 부터 사용
const symbol = Symbol();
Object
자바스크립트의 객체(object)는 키(key)과 값(value)으로 구성된 프로퍼티(Property)들의 집합이다.
// 객체(object)
const object = {firstName: 'first, lastName: 'last'}
Array
배열은 [ ]로 감싸서 나타내며, 배열 안에는 무엇이든지(배열, 함수, 객체 등) 들어갈 수 있다.
// 배열(array)
const array = [1, 'second', {}, [], function(){}]
typeOf
javascript 데이터 타입을 찾기 위한 함수
console.log(typeof 1) // number
console.log(typeof 'strong') // string
console.log(typeof []) // object(array) 베열도 객체로 본다.
console.log(typeof {}) // object
console.log(typeof true) // boolean
console.log(typeof null) // object(null) 존재하지않는 null 값도 javascript 에서는 객체로 본다.
console.log(typeof undefined) // undefined
undefined 와 null
기존값들을 undefined 및 null 을 사용하여 비어있는 값으로 만들 수 있다.
console.log(typeof undefined) // undefined
console.log(typeof null) // object
console.log(null === undefined) // false
console.log(null == undefined) // true
NaN ( Not a Number )
NaN 은 잘못된 입력으로 인해 계산을 할 수 없음을 나타내는 기호이다.
console.log(NaN == undefined); // false
console.log(NaN == null); // false
console.log(undefined == null); // true
console.log(NaN === NaN); // false
console.log(NaN !== NaN); // true
console.log(isNaN(NaN)) // true ( 전달된 값이 NaN 인지 아닌지 검사 );