JS 정리(2) 데이터타입,hoisting

Zoo Da·2021년 1월 1일
0

JS 정리

목록 보기
2/3
post-thumbnail

정리글에 포함된 모든 정보는 드림코딩 엘리님의 유튜브 동영상을 참고하였습니다.

목차

  1. 변수
  2. Block Scope
  3. Global Scope
  4. var
  5. constant
  6. 무한대 & NaN
  7. String
  8. Boolean
  9. null
  10. undefined
  11. symbol

변수(Variable)

변수는 변경될 수 있는 값으로써 js에서의 변수 선언은 let을 이용해서 선언 가능하다
let은 ES6에서 추가가 되었다.

변수 선언과 사용
선언과 사용

위의 예시 코드처럼 let은 변경될 수 있기 때문에(Mutable Data Type) 사용후 재할당이 가능하다.
let이란 키워드를 이용해서 name이란 변수를 정의하게 되면 메모리를 가리킬 수 있는 포인터가 생기고 그 포인터가 가리키는 곳에다가 dream이란 값을 저장한다.

Block Scope : {}

중괄호를 사용해서 Block Scope를 작성할 수 있다.
블럭 스코프 안에서 선언된 변수는 블럭스코프 밖에서 접근할 수 없다는 특징이 있다.

이와 반대로 파일안에서 정의를 해서 사용하는 것으론 Global Scope이라고 한다.

Global Scope

글로벌 스코프는 어플리케이션이 실행되는 순간부터 끝날 때까지 항상 메모리상에 탑재되어 있기 때문에 최소한으로 사용하는 것이 좋다.
Global Scope
예시 코드 결과!
글로벌 결과

var

let의 등장 이전에는 var를 사용했지만 몇가지 문제점이 있기 때문에 사용하지 않는다.

var의 문제점

  1. 먼저 선언하지 않아도 사용이 가능하다.
  2. 값을 할당하지 않아도 출력이 가능하다.

var가 위와 같은 문제점을 가지는 이유는 hoisting때문이다.
hoisting은 어디에 선언했느냐에 상관없이 항상 제일 위로 선언을 끌어올려주는 것을 의미한다.
var에 대해서 자세히 다루는 것은 생략하겠다.

Constant

constant는 값이 한번 할당되면 절대 바뀌지 않는 값을 의미하며 Immutable Data Type(값이 불변하는)이다.

Const의 장점

  • 보안성
  • 안전성
  • 휴먼 에러 방지

이러한 장점 때문에 constant를 사용하는 것을 추천한다.

const 사용 예시 코드

무한대 & NaN

String

javascript에선 문자이던 문자열이던 상관없이 string 데이터 타입으로 취급한다.

아래의 선언 예시를 보자


위와같이 선언을하고 console.log()을 사용해 각각의 타입을 출력 하면 전부 string이 나오는 것을 확인할 수 있다.

Boolean

Boolean의 종류

  • true
  • false

false : 0, null, undefined, NaN, ''
true : 제외한 모든 값

null

공백의 상태 null로 설정하였을 때 텅 비어있는 값으로 할당됨.

undefined

undefined로 할당을 하면 선언은 되었지만 아무값도 지정되어있지 않은 상태로 값이 공백인지 들어가있는지 확인이 되지 않음.

symbol

맵이나 다른 자료구조에서 고유한 식별자가 필요하거나 우선순위를 정해주기 위해서 사용함.
예시코드)

profile
메모장 겸 블로그

0개의 댓글