crystal_dev
Crystal 개발 일지
crystal_dev
전체 방문자
오늘
어제
  • 분류 전체보기 (58)
    • Web (0)
    • Frontend (32)
      • React (0)
      • Javascript (17)
      • HTML & CSS (14)
      • DOM API (0)
    • 사이드프로젝트 (1)
      • Flask (1)
    • CS (0)
      • Network (0)
    • 형상관리 & 개발도구 (2)
      • git (1)
      • VSCode (1)
    • 알고리즘 (19)
      • 백준 알고리즘 (1)
      • 프로그래머스 (17)
      • 기타 (1)
    • Error (2)
      • javscript (1)
      • python (1)
    • blog (2)
      • daily (1)
      • 회고 (0)
      • it참고 (0)
      • 항해99 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 알고리즘
  • js기본
  • javascript error
  • css위치
  • 프로그래머스
  • 자바스크립트
  • Algorithm
  • Javascript
  • 프론트엔드
  • 느슨한타입
  • css정렬
  • match()
  • userfont
  • frontend
  • CSS
  • 풀이
  • Programmers
  • let
  • js
  • js 기본

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
crystal_dev

Crystal 개발 일지

[TIL] 변수 선언하기
Frontend/Javascript

[TIL] 변수 선언하기

2022. 5. 23. 18:44
728x90
반응형

1. 변수 

메모리상에서 값을 저장하는 공간, 이 메모리 공간을 식별하기 위해 붙인 이름을 말한다.

 

변수 선언 및 사용

 

✔ 저장한 값을 언제나 불러올 수 있다.

 

👉 변수명 str은 변수의 값이 아니라 값이 저장된 메모리 공간의 주소를 기억하고 있다. 변수명을 사용하면, 자바스크립트 엔진이 변수명과 매핑된 메모리 주소를 통해 저장된 값(23453243)을 반환한다.

 

2. 할당, 참조, 선언

 

✔ 할당 : 변수에 값을 저장하는 것을 의미
✔ 참조 : 변수에 저장된 값을 읽어 들이는 것을 의미
✔ 선언 : 변수명을 자바스크립트 엔진에 알리는 것을 의미한다.

 

Console.log 에서는 왜 undefined를 돌려주는가?

console.log는 콘솔을 그림판처럼 사용한다고 생각하면 된다. 화면에다가 그리는 것이다. 그렇기 때문에 값을 컴퓨터에서 돌려주는 게 아니니 undefined 반환한다.

 

 

str의 값과 console.log의 결과를 js엔진이 반환한다.

 

선언하지 않은 변수를 불러올 때 나타나는 오류

 

Uncaught ReferenceError: asadasd is not defined 라는 오류가 뜬다.

 

3. 변수 수정하기

변수의 의미는 변하는 값이라는 의미이다.

 

 

위의 코드와 같이 값을 수정하는 것이 가능하다.

 

Undefined와 Null

둘 다 빈 값을 의미하지만, 둘 다 다른 값이기 때문에 다른 의미를 부여할 수 있다. 이전 포스팅에도 undefined와 Null의 차이가 어떤지 다뤘었지만, 여기서는 사용 용도를 기준으로 설명한다.

undefined와 null의 차이점

 

[TIL] Undefined, null 의 차이점

undefined와 null은 같아보이지만 차이점이 존재한다. 1. undefined undefined는 원시값(Primitive type) 중 하나로, 자바와는 달리 자바스크립트는 변수에 저장하는 값에 따라서 자료형이 결정된다는 특징이

susu-tn.tistory.com

 

Null과 undefined는 둘 다 빈 값이라서 어떨 때 사용하는지 헷갈릴 수 있다.

Undefined는 기본값이라는 의미라도 있지만, null은 역할이 없다.

일부 개발자는 null을 의도적으로 사용하는 경우가 있기도 한다. 

 

 

예를 들어서  hello2에 빈 값으로 변경해야 하는 경우가 생겼다. 

위와 같이 undefined로 값을 변경을 했다.

 

다른 개발자가 hello2의 값을 사용하려고 보니

위와 같이 뜨는 것을 볼 수 있다.
컴퓨터에서 기본적으로 undefined를 반환해주는 것인지
다른 개발자가 의도적으로 undefined를 넣은 것인지 알 수 없다.

 

컴퓨터에서 기본적으로 반환해주는 것이라 생각하고

위와 같이 값을 변경을 했는데, 다른 개발자 측에서 의도적으로 빈 값을 넣은 거라고 할 수도 있다.
그래서 보통 빈 값을 쓸 때는 의도적으로 null을 쓴다고 한다.

빈 값을 써야할 때는 null을 쓰도록 하자.

 

 

 

 

 

👀 참고

https://www.howdy-mj.me/javascript/var-let-const/

 

var, let, const의 차이 ⏤ 변수 선언 및 할당, 호이스팅, 스코프

자바스크립트에서 var로 변수 선언이 가능했는데, 왜 const와 let이 나왔으며 이 둘의 사용을 권장할까? 이를 정확하게 알기 위해서는, 변수의 선언 및 할당 과정, 호이스팅, 스코프를 알아야한다.

www.howdy-mj.me

 

 

 

 

 

728x90
반응형
저작자표시 (새창열림)

'Frontend > Javascript' 카테고리의 다른 글

[TIL] var, let, const  (0) 2022.05.23
[TIL] 변수명 짓기  (0) 2022.05.23
[TIL] Undefined, null 의 차이점  (0) 2022.05.11
[TIL] =, ==, === 의 차이점과 객체의 비교  (0) 2022.05.10
[TIL] 불 값(boolean, 값들의 비교)  (0) 2022.05.10
    'Frontend/Javascript' 카테고리의 다른 글
    • [TIL] var, let, const
    • [TIL] 변수명 짓기
    • [TIL] Undefined, null 의 차이점
    • [TIL] =, ==, === 의 차이점과 객체의 비교
    crystal_dev
    crystal_dev
    어제보다 더 나은 오늘의 내가 되자 ✧ʕ̢̣̣̣̣̩̩̩̩·͡˔·ོɁ̡̣̣̣̣̩̩̩̩✧

    티스토리툴바