javascript에는 7가지 Data Type이 있다.
1) Number
64비트 부동 소수점으로 저장되며 내장 연산자를 사용하여 조작 가능.
const num1 = 123 // Literal declaration const num2 = Number(123) // Using the Number constructor const num3 = Number.parseInt("123.45") // 정수변환 const num4 = Number.parseFloat("1.23e2") // 소수변환 const a = 12; const b = 34; // addition a + b; // 46 // substraction a - b; // -22 // multiplication a * b; // 408 // division a / b; // 0.35294117564 // exponentiaion (b의 a승) b ** a; // 2386420683 // increment (a에 1씩 증가) a++; // 13 // decrement (b에 1씩 감소) b--; // 33 // modules(나누고 난 나머지 값) b % a; // 10
2) String
항상 따옴표를 통해 선언
const s1 = "this is string" // double quotes const s2 = 'this is also a string' // single quotes const s3 = `this is a string too` // backticks const s4 = 1 + 2 // 3 const s5 = ` 1+ ${1+1} = ${s4} ` // embedded expressions s5 = " 1 + 2 = 3"; // true
문자열은 더하기 연산자(+)로 연결할 수 있다.
const s6 = "string1" + " " + "string2" // "string1 string2" const s7 = "string" + 1 // "string1" // 문자열과 숫자가 합쳐지면, 숫자를 문자열처럼 인식한다
3) Boolean
논리값 true 또는 false이다. 논리적 비교의 결과
const b1 = !false // true const b2 = true && false // false (하나라도 틑리면 거짓) const b3 = false || true // true (하나라도 맞으면 참) const b4 = 123 === "456" // false (숫자 != 문자) const b5 = 1.23 === 123e-2 // true
4) Object
객체는 키(key)/값(value)의 모음이며, 키(key)는 문자열이고 값(value)은 모든 유형이 될 수 있다.
객체리터럴은 key: value
중괄호로 묶인 쉼표로 구분된 쌍 목록으로 정의된다.
❗️ 값은 점(.) 연산자
다음에 키 이름을 사용하거나, 키를 문자열로 묶는 대괄호를 사용하여 객체에 접근할 수 있다.
const myObject = { first: "123", second: 456, third: true }; myObject.first; // "123" let second = "first"; // 객체의 키 자체를 문자열로 하여 변수에 담는다 myObject.second; // 456 myObject["first"] === myObject[second] // true myObject.first = 12; myObject["first"] // 12 // 키는 문자열로 되어있기 때문에 대괄호 안에 키를 문자열로 해주기
5) Undefined
데이터가 존재하지 않음을 나타내는 전역변수. 존재하지 않는 객체의 키에 접근하려고 하면 결과는 undefined
false === undefined // false ({ a: "b"}["otherkey"] === undefined) // true
6) null
값이 예상되지만 현재 사용할 수 없음을 나타내는데 자주 사용된다.
예를들어 데이터베이스가 객체로 표시되고 새 데이터가 수신될 때마다 키가 추가되면, 예상키가 초기화 될 수 있다. 이 경우, 키에 접근하면 사용자가 아직 아무것도 없다는 것을 알 수 있지만 키가 있다는 정확한 사실은 인지하고 있다.
null == undefined // true
undefined == null // true
undefined === null // false(타입은 다르기때문)
7) Symbol