[오늘의 JS] Variable Types

Jessie H·2022년 3월 2일
0

Variable Types

  1. primitive 나눠질 수 없는 가장 작은 단위
    number, string, boolean(true/false), null(=없음), undefined(=정의를 안하는 것 빈칸과 같다), symbol

  2. object

  3. function

number

따로 number라고 정의하지 않고 그냥 let 변수 = 원하는 숫자 로 하면 바로 적용이 된다.

let A = 3002
let B = 5.08

특이한 number

infinity = 양의 정수를 0으로 나누어 무한대가 되는 것
negativeinfinity = 음의 정수를 0으로 나누어 무한대가 되는 것
NaN(Not a Number) = string / number
연산에서 이 3개가 나오면 사용자가 오류나기 때문에 조심

** JS의 number 범위 :
-(2⁵³-1) ~ 2⁵³ -1

** bigint 숫자 마지막에 n붙이면 bigint가 됨(익스빼고 적용됨)

string

글자 수 상관없이 다 string에 해당
string에 다른 글자 붙이기 가능

** console.log()에서 ``(백틱)으로 하면 쉽게 string을 붙여서 출력이 가능

const today = 'day'
const weather = 'sunny ' + today;
//일반
console.log('value: ' + weather + 'type: ' + typeof weather);

//백틱 안에 ${} 넣기
console.log(`sunny ${day}`)

boolean(True or False)

True: 1, 일반 string 등
False: 0, null, undefined, '', NaN

null

선언 후 '없음'이라고 따로 값을 지정하는 것

undefined

선언 후 정의하지 않는 것

symbol

우선순위를 주고 싶을 때 string에 고유한 id를 보유하는 것
참고로 각각 다른 string에 같은 symbol로 정의해도 그 symbol끼리는 다르다.

const Firenoodle = Symbol('id');
const Japchae = Symbol('id');
console.log(Firenoodle === Japchae);

이 둘을 같게 만들고 싶다면 Symbol.for()을 이용하면 된다.

Symbol 출력시에는 반드시 Symbol.description으로 적어야한다.

const Firenoodle = Symbol('id');
const Japchae = Symbol('id');
console.log(Firenoodle === Japchae);
console.log(`value: ${Firenoodle.description}, typeof: ${Fireboodle.description}`) 

Dynamic typing

멘붕의 Javascript Dynamic typing

들어봤지만 실제로 보니 더 멘붕이다.........

profile
코딩 공부 기록장

0개의 댓글