728x90
자바스크립트 변수
1. var(function-scoped)
- function 안에 선언된 변수를 function 밖에서 사용하지 못하게 설정 되어있다.
- javascript var는 hosting 기능이 있다. https://its-easy.tistory.com/23
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
반응형
'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 |