데이터 타입(자료형)
변수에는 여러가지 유형이 들어갈 수 있습니다. 프로그램 언어에 있어 가장 기본적인 요소이며, 데이터 타입이라고 합니다. 데이터 타입에는 숫자, 문자열, 논리값, 특수값, 심벌, 객체, 배열, 함수 등을 표현할 수 있습니다.
숫자(Number)
숫자형(Number) 데이터는 단어 의미 그대로 숫자를 의미합니다.
만약 "100"과 같이 큰따옴표가 숫자를 감싸고 있다면 숫자가 아닌 문자형 데이터입니다.
var a = 100; → 숫자형 데이터
var b = "500"; → 문자형 데이터
문자형(String)
문자형(String) 데이터는 문자나 숫자를 큰따옴표("") 또는 작은따옴표('')로 감싸고 있습니다.
var a = "javascript";
var b = "100";
var c = "<h1> String </h1>;"
논리형(Boolean)
논리형(Boolean)데이터는 true(참) 또는 false(거짓)가 있습니다.
이 데이터는 주로 2개의 데이터를 비교할 때 나오는 결과입니다.
예를 들어, [100보다 10이 크다]는 잘못된 비교로, false라는 결과가 나옵니다.
var a = true;
var b = 10>=100; //false
var c = Boolean("hello") //true
특수값(Null)
말 그대로 빈 값입니다.
Undefined형은 안에 아무 데이터가 없는 것이지만, Null형은 메모리 안에 Null이라는 값이 저장된 상태입니다.
Null은 값이 없다는 것을 의무적으로 표현할 때 사용합니다.
var nothing = null;
특수값(Undefined))
값을 할당하지 않은 변수가 가지는 값
변수명만 선언하고 변수 값이 없을 경우 나타나며 데이터가 비어있다는 의미입니다.
심벌(Symbol)
심볼(symbol)은 ECMA6에 추가된 타입으로, 유일한 식별자(unique identifier)를 만들고 싶을 때 사용합니다.
쉽게 말해 유일하고 변경이 불가능한 기본값입니다.
let Sym1 = Symbol("Sym")
let Sym2 = Symbol("Sym")
console. log(Sym1 ===Sym2) // "false"
객체(Object)
식별자로 참조할 수 있는 메모리 상의 값을 말합니다.
쉽게 말하자면, 속성들을 담고 있는 주머니라고 볼 수 있습니다.
const me {
name : "JS",
age : 29,
gender : "female"
}
"me" 라는 객체는 name, age, gender의 속성을 갖습니다.
이 때, "me"는 식별자라고 합니다.
name, age, gender은 키 값이라고 불리며, 문자형 또는 심볼형이 사용될 수 있습니다.
하지만, "JS", 29, "female"은 각 키에 해당하는 값이라고 부리며, 어떠한 자료형도 올 수 있습니다.
배열 (Array)
배열은 어떤 타입이던지간에 그 타입의 데이터를 연속된 공간에 저장하는 자료구조 입니다.
함수(Function)
자바스크립트에서 객체에 함수값을 넣는 것도 가능합니다.
const obj = {
a: 100,
b: [200, 300],
c: {x: 400, y: 500},
d: "javascript",
e: function(){
document.write("javascript가 실행되었습니다.");
}