[JS] 데이터 타입

zhflsdl보보·2022년 9월 30일
0

자바스크립트에는 다양한 종류의 데이터 타입이 있다.

그 전에 데이터 타입을 알 수 있는 typeof 연산자에 대해 알고가자.

🟡 typeof 연산자 🟡

typeof 연산자를 적용하면 변수가 undefined, boolean, number, string, object, function 중 어떤 데이터 타입인지 반환한다.

let msg = "message";

console.log(typeof msg); // "string"
console.log(typeof 100); // "number"
console.log(typeof null); // "object"
console.log(typeof []); // "object"

🔸 Variable types

1. Primitive Type (기본 자료형) : 값을 그대로 할당

1) number

숫자

2) string

문자열
" " or ' ' 로 감싼 모든 표현

🟡🟡


🎈 문자열 + 숫자 조합

String과 Number가 더해지면 String이 된다.

console.log("2" + "2"); // "22"
console.log(2 + 2); // 4
console.log("2 더하기 2는 " + 2 + 2); // 2 더하기 2는 22

연산은 왼쪽에서부터 차례로 실행되므로 2 더하기 2는 22가 된다.

3) boolean

  • true : 비어있지 않은 문자열, 0이 아닌 숫자, 객체
  • false : 0, null, undefined, NaN, " "

4) null

변수가 선언되었지만 그 안이 비어있는 상태
아무것도 아닌 빈 객체를 가리키므로 typeof null"object" 가 나온다.

let nothing = '';

5) undefined

변수만 선언된 상태, 값을 할당하지 않았을 때

let nothing;
null == undefined // true
null === undefined // false

6) symbol

고유한 식별자가 필요할 때, 우선순위를 주고 싶을 때

const symbol1 = Symbol('id');
const symbol2 = Symbol('id');
console.log(symbol1 === symbol2); // false


2. Objective Type : 참조타입

Object 객체

다수의 property나 method 를 하나의 이름으로 묶어놓은 집합체
객체를 선언할 때는 중괄호 {} 를 사용하며, 이름(key):값(value) 의 형태로 작성한다. 이 데이터 한 쌍을 객체의 property 라고 한다.

🎈기본타입 vs 참조타입

변수를 선언하면 데이터가 담길 공간을 확보하고,
확보된 데이터의 주소값을 가지고 변수명과 매칭시키는 선언과정을 실행한다. 두 타입은 할당 과정에서 차이가 있다.

기본형은,

let a;
a = 10;

변수 a를 선언하면 공간을 확보하고, 확보된 데이터의 주소값을 가지고 변수명과 매칭시킨다. 그리고 매칭된 주소로 이동하여 데이터 10을 저장한다.

비어있는 데이터 확보 -> 변수명과 매칭 -> 주소에 데이터 저장

참조형은,

let obj = {
	a: 1 , b: 'hi'
  }

각 property의 key, value 값을 담을 공간을 확보한다. property와 확보된 주소를 매칭하고 주소마다 데이터를 할당한다.
이러한 과정을 기본형 데이터가 담길 때까지 반복한다.

참조형은 기본형 데이터의 집합이다!

profile
매일매일 성장하는 개발자

0개의 댓글

관련 채용 정보