2019백업

JavaScript - Variable

728x90

자바스크립트 변수

1. var(function-scoped)

  • function 안에 선언된 변수를 function 밖에서 사용하지 못하게 설정 되어있다.
  • javascript var는 hosting 기능이 있다.  https://its-easy.tistory.com/23 
 

[JavaScript] Hosting(호이스팅) 이란?

변수 Hoising 예제 1 2 3 alert(name); // 결과 : undefined var name = "홍길동"; alert(name); // 결과 : 홍길동 cs name이라는 변수가 선언되기 전에 호출했으니 에러가 발생할 것 같지만 값이 할당되지 않았다..

its-easy.tistory.com

hosting: 변수나 함수의 선언문을 유효범위의 최상단으로 끌어올려서 변수나 함수를 선언하기 이전에도 사용할 수 있도록 해주는 JavaScript의 특성

이러한 특성 때문에 원치않은 결과가 나올 수 있다. 그렇기 때문에 function 안에 변수를 선언해서 사용한다. 항상 function을 만들어서 호출을 해야하는 것은 아니다.

javascript에서는 immediately-invoked function expression (or IIFE, pronounced "iffy")라는것이 있다.

IIFE로 function-scope인거 처럼 만들 수가 있다.

 

즉시 실행 함수 표현(IIFE, Immediately Invoked Function Expression)은 정의되자마자 즉시 실행되는 Javascript Function 를 말한다.

 

 

2. const, let (blcok-scoped)

var의 문제점 : 이미 만들어진 변수이름으로 재선했는데 아무런 문제가 발생하지 않는다.
hosting으로 인해 ReferenceError에러가 안난다.
  • var와 다르게 변수 재선언이 불가능하다.
  • let은 변수에 재할당이 가능하지만, 
  • const는 변수 재선언, 재할당 모두 불가능하다.

https://gist.github.com/LeoHeo/7c2a2a6dbcf80becaaa1e61e90091e5d

 

javascript var, let, const 차이점

javascript var, let, const 차이점. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

반응형

'2019백업' 카테고리의 다른 글

코드블럭 테스트  (0) 2019.12.25
Javascript-classList  (0) 2019.07.26
JavaScript - 노드복제와 템플릿 태그  (0) 2019.07.24
JavaScript - 노드조작: 메뉴추가  (0) 2019.07.24
Javascript 엘리먼트 노드의 속성 변경  (0) 2019.07.24