Javascript Deep Dive/데이터 타입

데이터 타입(정의, 숫자타입, 문자열타입)

FE묭묭 2022. 9. 7.

데이터 타입이란?

  • 값의 종류
  • 자바스크립트(ES6)는 7개의 데이터 타입을 제공한다.
  • 숫자 타입 : 산술 연산을 위해 주로 사용
  • 문자열 타입 : 텍스트를 화면 출력을 위해 주로 사용 
구분 데이터타입 설명
원시 타입 숫자 타입 숫자,정수와 실수 구분 없이 하나의 숫자 타입만 존재
문자열 타입 문자열
불리언 타입 논리적 참(true)와 거짓(false)
undefined 타입 var 키워드로 선언된 변수에 암묵적으로 할당되는 값
null 타입 값이 없다는 것을 의도적으로 명시할 때 사용하는 값
심벌 타입 ES6에서 추가된 7번째 타입
객체 타입 객체, 함수, 배열 등

숫자 타입

  • 숫자 타입은 모든 수를 실수로 처리하며, 정수만 표현하기 위한 데이터 타입이 별도로 존재하지 않는다.
  • 2진수,8진수,16진수를 표현하기 위한 데이터 타입을 제공하지 않기 때문에, 이 값을 참조하면 모두 10진수로 해석된다.
var binary = 0b01000001; // 2진수
var octal = 0o101;       // 8진수
var hex = 0x41;          // 16진수

// 표기법만 다를 뿐 모두 같은 값이다.
console.log(binary); // 65
console.log(octal);  // 65
console.log(hex);    // 65
console.log(binary === octal); // true  
console.log(octal === hex);    // true

 

 

  • 숫자 타입은 정수만을 위한 타입이 없고 모든 수를 실수로 처리하기 때문에 1과 1.0은 같은 값이다.
// 숫자 타입은 모두 실수로 처리된다.
console.log(1 === 1.0); // true
console.log(4 / 2); // 2
console.log(3 / 2); // 1.5

 

 

  • 숫자 타입은 추가적으로 세가지 특별한 값도 표현할 수 있다.
  • NaN 은 대소문자 구분을 잘 하여야 한다.
console.log(10 / 0);       // Infinity (양의 무한대)
console.log(10 / -0)       // -Infinity (음의 무한대)
console.log(1 * 'String'); // NaN (산술 연산 불가)

문자열 타입

  • 문자열은 작은따옴표(' '), 큰따옴표(" "), 또는 백틱(` `)으로 텍스트를 감싼다.
  • 일반적인 표기법은 작은따옴표를 사용하는 것이다.
  • 따옴표로 감싸는 이유는 키워드나 식별자 같은 토큰과 구분하기 위해서이다.
  • 자바스크립트의 문자열은 원시타입이고, 변경 불가능한 값 이다. (문자열과 불변성 에서 자세히 나옴)

댓글