[JS] 데이터 타입

zhflsdl보보·2022년 9월 30일
0
post-custom-banner

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

그 전에 데이터 타입을 알 수 있는 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
매일매일 성장하는 개발자
post-custom-banner

0개의 댓글