본문 바로가기

IT이야기/JS&nodeJS

js개발자라면 알아야할 핵심컨셉 33개 2탄 Primitive Types

먼저 Primitve Types이란 무엇을 뜻할까?

 

말 그대로 원시적, 기초적 타입을 의미함

 

먼저 String 타입은 양끝에 쌍 따옴표(")로 구분함

 

"hello" 이런식으로.

 

물론 'hello' 이렇게도 사용이 가능하지만

 

'hello" 이렇게는 사용이 안됨.  이것이 String의 규칙임

 

그리고 만약 "hello my"name is""  이런식으로 했다면

 

이것 역시 에러. 왜냐면 name is를 text로 인식하기 때문

 

그러면 스트링 안에서 "를 쓰고싶으면 어떻게 할까?

 

"hello my \"name is\""  바로 역슬래쉬를 이런식으루 붙여주면

 

hello my "name is" 이런식으로 동작하게 된다.

 

그러면 numer 숫자의 경우는?

 

그리고 true, false의 경우가 있는데 

 

true를 그냥 쓰면 참이지만

 

"true"로 사용하면 string이 되기때문에 문자열로 인식함.

 

그러면 undefined 와 null의 차이는 무엇일까?

 

undefined는 '정의가 되지 않음' 이고

 

null은 '존재 하지 않음' 이야.

 

예를 들면

 

let hello;

 

이렇게 하고 hello를 호출해보면 undefined가 뜸

 

왜냐면 변수를 정의 하지 않았기 떄문이지 무슨 타입인지 뭘 넣을건지

 

정의가 안된거임.

 

그럼 null은? 이건 일종의 밸류인데 아무것도 담지 않았다는 것. 즉 값이 존재하지 않는다는것

 

간단하게 생각하면 undefined는 에러고 null은 에러가 아니라 값이 없다.

 

그러면 NaN은 뭘까?

 

NaN은  Not  A Number의 약자임

 

예를들면

 

Math.pow(5, "hello")를 실행하면 NaN뜸

 

왜냐 숫자에 문자열을 곱하면 당연히 숫자가 아니기 때문.

 

당연히 이건 에러가 아님 연산이 이상한겆지.

 

"hello" / 4 이런식으로 해도 NaN이 뜨겠지.

 

당연히 "6" /3 해도 NaN이 뜰거임 왜냐면 "6"은 숫자가 아니라

 

문자열이니까.

 

마지막으로 그러면 내가 지정한 값의 타입이 뭔지 알려면 어떻게 해야할까?

 

바로 typeof를 사용하면 됨

 

typeof true를 하면 boolean이 출력될것.

 

이걸 응용하면 

 

a = "3"

 

typeof a 이런식으로 하면 string이 나오겠지

 

그럼 오늘은 여기까지!