JavaScript/TIL

[TIL] #1. Primitive Types

Hello, Big stranger 2020. 8. 16. 16:36

Primitive Types

 

말그대로 primitive 원시적인, 기초적인이라는 뜻이야.

original 즉 string이라든가 혹은 numbers, 정수, 소숫점, 혹은 참과 거짓 Null 있고 Undefined, Nan도 있음

이 마지막 3개를 사람들이 차이점을 잘 몰라 그래서 그걸 알아보자.

 

String 알지? 그건 이렇게 따옴표(")로 시작하고 끝나. 그런데 이런 따옴표 ('')로 시작하면, 같은 모양새의 따옴표로 끝내야한다.

그렇게 안하면 에러가 난다. 같은 모양새의 따옴표로 시작하고 끝내기. 이게 String의 규칙이야!

"hello!"

 

예를 들어 이렇게 작성하면 안될 것이야.

"Hello they call me " the awesome man""
// 왜냐면 자바스크립트는 이걸(the awesome man)변수명으로 인식할거야. 하지만 이건 텍스트이지
// 그래서 이 오류를 피하기 위해서. 이렇게 작성해주면 텍스트로 인지하게 될 거야. String의 끝이 아니라!

"Hello they call me \"the awesome man/""

 

 

Number 경우( 정수, 소숫점) 

Boolean 은 참/거짓을 뜻하지

참, 거짓의 경우 따옴표를 안에 쓰면 잘못 인식이 되며, 따옴표를 쓸 경우 String으로 인식할 것이다.

Undefined. null 은 사람들이 많이 헷갈려하는 것중 하나이다.

undefined 즉 정의가 되지 않음 이라는 뜻이며 Null은 존재하지 않음으로 정의가 됨이라는 의미를 가지고 있다.

이 둘은 서로 매우 다르다. 예를 들면 다음 과 같다.

let hello; // undefined

hello // undefined

console.log(hello === undefined) // true

console.log(hell0 === null) //false

//hello는 string,number 등등은 아니며, 정의가 되지않았을뿐, Null은 아니다.

hello는 정의를 안한거고, null은 존재하지 않는다고, 이렇게 hello는 null이다 라고 작성하면, 존재하지 않음이며 근데 그 자체가 값(value)으로 들어간다. Null이라는 존재하지 않는 값이 들어가는 것이다.

 

존재하지않음과 정의하지 않음은 엄연히 다르다. Hi 와 Jelly는 다르다고, 젤리는 아직 정의되지 않은 것 뿐이다.

ES6에서 다뤄지는 symbol 이라는 것이 있다. 참고해서 나중에 따로 적어보도록 할 것이다.

 

그렇다면 NaN은 무엇일까? 약어로는 Not a Number라는 뜻이다.

수학 공식에서 나오는 망한 결과값인 경우가 많다. 이게 나오면 해당 수학 공식이 망했다는 것을 알수 있다.

Mrh.pow(5, "hello") // NaN

타입을 알아내는 방법은? Typeof를 사용하면 된다. 

Type of ture // Boolean

 

'JavaScript > TIL' 카테고리의 다른 글

[TIL] #5. Scope  (0) 2020.08.17
[TIL] #4. TYPE OF  (0) 2020.08.17
[TIL] #3. Type Coercion  (0) 2020.08.16
[TIL] #2. Value Types and Reference Types  (0) 2020.08.16
[TIL] #0. Call Stack  (0) 2020.08.04