데이터 타입에는 원시 타입과 객체 타입이 존재한다.
number - 숫자 , string - 문자열, boolean - 참/거짓, null, undefined, symbol(추후 별도로 추가 예정)
C언어나 JAVA와 다르게 JavaScript는 숫자 종류(정수, 음수, 등) 구분 없이 하나의 실수 타입으로 숫자를 나타낸다.
const myLifeSpan = 70.5;
const myMarriage = 25.7;
const myCompany = 50.25;
💡굳이 하나를 덫 붙이자면 bigInt 라는 것이 존재하는데 이 건 2의 53승보다 1작은 숫자보다 큰 수를 표현할 때 쓴다. (참고 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt)
자바스크립트에서 문자 타입은 0개 이상의 16비트 유니코드 문자의 집합으로 전 세계 대부분의 문자를 표현 할 수 있다. 코드에서는 문자를 표현 할 때 ‘’
, “”
, ````으로 감싸 표현한다.
let myCity = 'Bucheon';
const myCountry = "South Korea";
const myName = "오현상"
문자를 따옴표로 감싸는 이유는 시스템이 변수와 헷갈리지 않도록 구분하기 위해서 이다.
💡``백틱
은 TEMPLATE LITERAL이라고 하는데 다양하고 편리한 문자열 처리 기능을 사용하기 위해서 쓰인다.
타입의 이름 그대로 참과 거짓으로, 프로그램의 흐름을 제어하는 조건문에서 자주 사용 되는 표현.
단순해 보이지만, 특정 데이터 값은 디폴트된 boolean 값이 다음과 같이 정해져 있다.
// 값의 default boolean을 알아보기 위해 !! 를 사용
console.log(!!0) // false
console.log(!!'') // false
console.log(!!null) // false
console.log(!!undefined) // false
console.log(!!NaN) // false
console.log(!!{}) // true
undefined 값을 가지고 있는 건 undefined가 유일하며, 변수를 선언하고 특정 값을 할당하지 않았을 경우 undefined(의도적이지 않음)이라고 출력 되기도 한다.
null 값도 undefined와 마찬가지로 null이 유일하지만 undefined와의 차이점은 의도적으로 null 값을 부여한다는 것이다.
SYMBOL를 포함 앞에 언급한 5가지 타입을 제외한 모든 데이터 타입은 객체이며, 자바스크립트는 객체 지향 언어인 것을 감안해서 추후에 한꺼번에 다룰 예정이다.
//객체에는 복합적인 데이터를 담을 수 있는데...
const arr = [1,2,3, 'stupid']
const realObj = {country : 'south korea', name : '현상'}