자바스크립트를 배워보자! 1.데이터타입 - 1)원시타입

원시 타입은 크게 6가지로 구분된다.

데이터 타입 설명
숫자타입 정수와 실수 구분 없는 숫자 타입
문자열타입 문자열, 텍스트 데이터
불리언타입 참(true), 거짓(false)
undefined 타입 값을 할당하지 않은 변수에 할당되는 값
null 타입 어떤 값이 의도적으로 비어있음을 표현
심볼 타입 유일하며 변경할수 없는 값, 객체의 키로 유일한 식별자를 만들고 싶을 때 사용

1. 숫자 타입

  • 정수와 실수 구분 없는 숫자 타입
  • 2진수, 8진수, 16진수는 값을 참조하면 모두 10진수로 변환된다.
var i = 5; //정수
var d = 5.3; //실수
var n = -30; //음의 정수

var b = 0b01010001; //2진수
var o = 0o121; //8진수
var h = 0x31; //16진수

console.log(b); //81
console.log(o);  //81
console.log(h);  //49
  • 특별한 숫자 값
    • Infinity : 양의 무한대
    • -Infinity : 음의 무한대
    • NaN : 숫자가 아님
  • 숫자는 실수로 계산된다.
console.log(3 / 2) // 1.5

2. 문자열 타입

  • 문자열, 즉 텍스트데이터 이다.
  • 작은 따옴표, 큰 따옴표 또는 백틱 문자로 감싼다.
  • 백틱 문자는 ES6에서 추가되었다.
var a = 'abc'; //작은 따옴표
var b = "가나다"; //큰 따옴표
var c = `😁. 😆. 😅. 🤣. 😂`; //백틱 문자

3. 불리언 타입

  • 논리적인 참(true), 거짓(false) 값
  • 조건문에서 자주사용한다.
var t = true;
if(t){
  console.log(t)
}

var f = false;
if(f){
  console.log(f)
}
// true만 표시된다.

4. undefined 타입

  • var로 선언한 변수에 값을 할당하지 않을 때, 그리고 함수에 리턴 값이 없을 때 undefined가 할당된다.
  • undefined 타입의 값은 undefined 뿐이다.
var u;
console.log(u);

function un(){
}
console.log(un())

5. null 타입

  • 어떤 값이 의도적으로 비어있음을 표현하며 불리언 연산에서는 거짓으로 취급
  • null 또는 undefined를 검사할 때, 동등 연산자(==)와 일치 연산자(===)의 차이를 주의가 필요
console.log(typeof null)          // "object" 
console.log(typeof undefined)     // "undefined"
console.log(null === undefined)   // false
console.log(null  == undefined)   // true
console.log(null === null)        // true
console.log(null == null)         // true
console.log(!null)                // true
console.log(isNaN(1 + null))      // false
console.log(isNaN(1 + undefined)) // true

6. 심볼 타입

  • 유일한 식별자를 만들고 싶을 때 사용
  • 프로퍼티 키로 사용
  • 생성시 new키워드를 사용하지 않는다. (ES6부터는 규정상 모든 원시타입 생성자를 임의 호출 할 수 없다.)
  const s = Symbol()
  const obj = { [s]  : "심볼 입니다." }
  console.log(obj[s])