JavaScript 데이터타입

그거아냐·2024년 12월 8일
0

자바스크립트

목록 보기
35/41
post-thumbnail

ES6 데이터 타입

구분데이터 타입설명
원시타입숫자정수 실수 구분없이 숫자
문자열문자열
불리언true, false
undefined선언된 변수에 암묵적 할당값
null값이 없음을 명시할 때 사용
symbol변경불가, 유일무이한 값 -> 충돌 위험 없음
객체타입객체 함수 배열 등

숫자타입

다른언어의 int, long, float, double 등 다양한 숫자타입과 대응되는 타입
자바스크립트는 정수, 실수, 2진수, 8진수, 16진수 모두 구분하지 않음

  • Infinity : 양의 무한대
  • -Infinity : 음의 무한대
  • NaN : 산술 연산 불가

문자열 타입

'' "" `` 으로 감싸는 텍스트

let str = hello //자바스크립는 "" 가 없는 hello를 식별자로 인식한다.

불리언 타입

true 와 false 두가지 논리적 참과 거짓을 나타내는 값

Undefined 타입

개발자가 의도적으로 할당하는 값이 아닌 자바스크립트 엔진이 변수를 초기화하는데 사용하는 값이다. 변수를 참조했을 때, undefined가 반환되면 선언 후에 한번도 값을 할당하지 않는 변수이다.
변수에 값이 없다는 것을 명시하기 위해서는 null을 사용해야 한다.

null

NULL, Null 이 아닌 null임을 까먹지 말자
Undefined와 다르게 값이 비어있음을 명시적 표시하기 위해 사용한다.
의도적 부재라고 한다.

Symbol 타입

ES6에 추가된 7번째 타입니다.
변경불가능, 중복불가능한 유일무이한 값으로 충돌위험이 없는 객체의 유일한 프로퍼티 키를 만들기 위해 사용한다.

let key = Symbol('key') //심볼값 생성

let obj={} //객체 생성

obj[key] = 'value' //이름이 충돌할 위험이 없는 key를 프로퍼티 키로 사용

객체 타입

위의 7가지 타입외의 값

동적 타이핑

자바스크립트는 정적타입언어(C, 자바...)와 다르게 변수 선언할 때 타입을 선언하지 않는다.
정적 타입 언어는 변수 선언 시점에 변수의 타입이 결정되지만, 자바스크립는 값이 할당되는 시점에 동적으로 결정되고, 변수의 타입을 자유롭게 변경 가능하다.

장점

  • 개발자는 데이터 타입을 고려하지 않고 편하게 코드를 작성할 수 있다.

단점

  • 복잡한 프로그램에서 변화하는 변수 값을 추적하기 어려울 수 있다.
  • 값을 확인하기 전에는 타입을 확인할 수 없다
  • 개발자의 의도와 달리 엔진에 의해 암묵적으로 타입이 변환될 수 있다. -> 오류 유발

-> 유연성은 높지만 신뢰성이 떨어진다.
-> 타입스크립트 사용의 이유

profile
지금 하고 있는 그거 그거아냐

0개의 댓글