Deep Dive JS - 1일차 (ch6)

Junho Yun·2023년 1월 25일
0
post-thumbnail

데이터 타입

면접 예상 질문

데이터 타입의 종류는 어떤 것들이 있나요?
심벌 타입은 뭐죠?
데이터 타입은 왜 필요할까요?
정적 타이핑이 뭔가요?
동적 타이핑이 뭔가요?

숫자, 문자열, 불리언, undefined, null, 심벌 (원시 타입)

템플릿 리터럴

백틱 (``)을 사용해 표현합니다.

var first = 'jun';
var last = 'ho';

console.log(`My name is ${first} ${last}.` // My name is jun ho.

immutable value 나중에 추가 공부하기

문자열은 immutable value 입니다. 즉, 문자열이 생성되면 그 문자열을 변경할 수 없다는 것 입니다. 문자열 말고도 위에 나와있는 타입 모두 원시 타입의 값 입니다.

심벌 타입

변경 불가능한 원시 타입의 값, 다른 값과 중복 되지 않는 유일무이한 값이다.
주로 충돌할 위험이 없는 객체의 유일한 프로퍼티 키를 만들기 위해 사용한다.

// 심벌 값 생성 
var key = Symbol('key');

// 객체 생성
var obj = {};

// 이름이 충돌할 위험이 없는 유일무이한 값인 심벌을 프로퍼티 키로 사용
obj[key] = 'value';
console.log(obj[key]); // value

객체, 함수, 배열 (객체 타입)

자바스크립트를 이루고 있는 거의 모든 것이 객체입니다. 함수 및 배열 또한 사실 키와 값으로 나눌 수 있는 객체의 한 종류입니다.

데이터 타입의 필요성

  1. 값을 저장할 때 필요한 "메모리 공간의 크기를 결정하기 위해"
  2. 값을 참조할 때 한 번에 읽을 "메모리 크기를 결정하기 위해"
  3. 메모리에 있는 값, "2진수를 어떻게 해석할지 정하기 위해"

동적 타이핑 정적 타이핑

동적 타이핑 -> 자바스크립트
정적 타이핑 -> c 언어, 자바

정적타이핑의 특징 -> 컴파일 시점에 타입체크

자바스크립트의 변수는 선언이 아닌 할당에 의해 타입이 결정됩니다 ( 타입추론 )
해당 변수 타입은 재할당을 통해 언제든지 변할 수 있습니다.

profile
의미 없는 코드는 없다.

0개의 댓글