JavaScript typeof

ubuntu 8번 재설치, github pages 개설 5번쨰 재시도 동안 과제인 블로깅을 놓쳤다. 관련내용은 다음에 포스팅을 하겠지만 미리 코드스테이츠에서 언급한것처럼 시간이 모자랐다. 한동안 몰렸던 연락을 거절하지 않고, 미리 준비못한 내 잘못이리라. 이런들 어떠하고 저런들 어떠한가 늦더라도 포스팅은 하는것이 약속.

1. JavaScript의 type

최신(2022년 8월) ECMAScript 표준은 8가지 데이터 형을 정의한다.

1.1. 원시 데이터

  • Boolean: true와 false
  • null: null 값을 나타내는 특별한 키워드. (JavaScript는 대소문자를 구분하므로, null은 Null, NULL 혹은다른 변형과도 다르다.)
  • undefined: 값이 정의되어 있지 않은 최상위 속성.
  • Number (en-US): 정수 또는 실수형 숫자. 예: 86 혹은 3.14159.
  • BigInt (en-US): 임의 정밀도의 정수. 예: 100_000_000_000_000n.
  • String: 문자열. 예:"안녕"
  • Symbol: (ECMAScript 2015에 도입) 인스턴스가 고유하고 불변인 데이터 형.

1.2. 자료형 데이터

  • Function: 함수
  • Object: 객체
  • Array: 배열

2. typeof

오늘의 주제는 typeof이다. 피연산자의 평가 전 자료형을 나타내는 문자열을 반환한다.

//
//  JavaScript는 loosely typed의 dynaic언어이다. 어떤 특정 타입과 연결되지 않으며
//  모든 타입의 값으로 할당(및 재할당) 가능하다.
//
//  typeof연산자는 피연산자 앞에 위치한다.
//  구문: typeof operand || typeof(operand)
//    - operand 자료형을 가져올 객체 또는 원시값을 나타내는 표현식이다.
//

let ty = false; //Boolean
console.log(typeof ty); // => boolean

ty = null; //null
console.log(typeof ty); // => object

ty = undefined; //undefined
console.log(typeof ty); // => undefinded

ty = 86; //Number
console.log(typeof ty); // => number

ty = 100_000_000_000_000n; //BigInt
console.log(typeof ty); // => bigint

ty = "taylor"; //String
console.log(typeof ty); // => string

ty = Symbol(); //Symbol => ECMAScript 2015에 도입, 다른프로그램언어에서는 atom이라고함.
console.log(typeof ty); // => symbol

참조

typeof null`의 역사
MDN:JavaScript/type
MDN:Javascript/typeof
MDN:Javascript/instanceof