자료의 타입은 있지만 변수에 저장되는 값의 타입은 언제든지 바꿀 수 있는 언어를 ‘동적 타입(dynamically typed)’ 언어
숫자형
정수 및 부동소수점 숫자
특수 숫자 값
Infinity: 무한대
alert( 1 / 0 );
alert( Infinity ); //직접 참조 가능
-Infinity , NaN:계산 중에 에러가 발생했다는 것을 나타내주는 값
alert( "숫자가 아님" / 2 );
BigInt
길이에 상관없이 정수를 나타낼 수 있습니다.
BigInt형 값은 정수 리터럴 끝에 n을 붙이면 만들 수 있습니다.
const bigInt = 1234567890123456789012345678901234567890n;
정수의 한계는 ±2의53승
문자형
문자열(string)을 따옴표로 묶습니다.
let str = "Hello";
let str2 = 'Single quotes are ok too';
let phrase = `can embed another ${str}`;
- 큰따옴표: "Hello"
- 작은따옴표: 'Hello'
- 역 따옴표(백틱, backtick): `Hello`: 역 따옴표로 변수나 표현식을 감싼 후 ${…}안에 넣어주면, 아래와 같이 원하는 변수나 표현식을 문자열 중간에 손쉽게 넣을 수 있다.
let name = "John";
// 변수를 문자열 중간에 삽입
alert( `Hello, ${name}!` ); // Hello, John!
// 표현식을 문자열 중간에 삽입
alert( `the result is ${1 + 2}` ); // the result is 3
큰따옴표나 작은따옴표를 사용하면 중간에 표현식을 넣을 수 없다
<불린형>
불린형(논리 타입)은 true와 false 두 가지 값밖에 없는 자료형입니다.
let nameFieldChecked = true; // 네, name field가 확인되었습니다(checked).
let ageFieldChecked = false;
let isGreater = 4 > 1;
alert( isGreater ); // true (비교 결과: "yes")
<null값>
null 값은 오로지 null 값만 포함하는 별도의 자료형을 만듭니다.
null을 ‘존재하지 않는(nothing)’ 값, ‘비어 있는(empty)’ 값, ‘알 수 없는(unknown)’ 값을 나타내는 데 사용
let age = null;
undefined 값
변수는 선언했지만, 값을 할당하지 않았다면 해당 변수에 undefined가 자동으로 할당
undefined를 직접 할당하는 걸 권장하진 않습니다. 대신 null 사용
객체와 심볼
객체: 데이터 컬렉션이나 복잡한 개체(entity)를 표현할 수 있다.
심볼(symbol)형: 객체의 고유한 식별자(unique identifier)를 만들 때
typeof 연산자
인수의 자료형을 반환
- 연산자: typeof x
- 함수: typeof(x)
typeof x를 호출
typeof undefined // "undefined"
typeof 0 // "number"
typeof 10n // "bigint"
typeof true // "boolean"
typeof "foo" // "string"
typeof Symbol("id") // "symbol"
typeof Math // "object" (1)
typeof null // "object" (2)
typeof alert // "function" (3)
이때 null은 객체가 아님
<질문> 역따옴표는 언제 넣어주는가??