일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Kotlin
- 파이썬
- 코틀린
- 함수
- as?
- Java
- 리스트 뷰
- 노트북 추천
- ListView
- 배열
- javascript
- 자바
- go
- 노트북
- Android
- HP
- golang
- 안드로이드
- 자바스크립트
- var
- Python
- 연산자
- 싱글 스레드
- adapter
- Overloading
- 패널 교체
- js
- Array
- node.js
- 오버로딩
Archives
- Today
- Total
Bbaktaeho
[javascipt] var, let, const (자바스크립트, 변수, 스코프, scope) 본문
프로그래밍 (Programming)/자바스크립트 (JavaScript)
[javascipt] var, let, const (자바스크립트, 변수, 스코프, scope)
Bbaktaeho 2020. 3. 28. 13:45반응형
📚 var, let, const
- 자바스크립트 문법에서 변수를 선언할 때 사용하는 키워드
- es6에서 추가된 let, const
- 스코프(scope)란 유효 범위의 영역을 뜻함 즉, 중괄호 속의 영역
📗 var
함수의 스코프에서만 유효
-
var 키워드를 반복문 스코프에서 선언할 때
반복문 영역에서 유효하지 않고 마치 전역 변수처럼 동작한다for (var i=0; i<10; i++); console.log(i);
10
-
var 키워드를 조건문 스코프에서 선언할 때
반복문과 마찬가지로 조건문 영역에서 전역 변수처럼 동작한다if(true){ var test = '테스트입니다.'; console.log(test); // 1 } console.log(test); // 2
테스트입니다. // 1 테스트입니다. // 2
-
var 키워드를 함수 스코프에서 선언할 때
함수 내에서 선언된 var 변수는 함수 스코프에서만 유효하다function test() { var test1 = '테스트'; var test2 = '입니다.' return test1 + test2; } console.log(test1); // ReferenceError: test1 is not defined (주석 후 실행) console.log(test2); // ReferenceError: test2 is not defined (주석 후 실행) console.log(test());
테스트입니다.
📒 let
모든 중괄호에서 스코프를 가지게 하는 키워드
-
let 키워드를 반복문과 조건문에서 선언할 때
var 키워드와 다르게 모든 영역에서 유효하다for(let i=0; i<5; i++){ console.log('for문에서 선언한 i : ',+i); } if (true){ let i = 'if문에서 선언한 i'; console.log(i); } console.log(i);
for문에서 선언한 i : 0 for문에서 선언한 i : 1 for문에서 선언한 i : 2 for문에서 선언한 i : 3 for문에서 선언한 i : 4 if문에서 선언한 i // error console.log(i); ^ ReferenceError: i is not defined
-
let 키워드를 함수에서 사용할 때
var 키워드와 같은 동작을 한다
📘 const
상수로 만들어주는 키워드
-
let 키워드와 같은 스코프 개념을 가짐
-
배열 혹은 객체에서 요소를 추가, 변경, 제거 동작은 가능함
-
재할당을 할 수 없는 키워드
-
const 키워드를 초기화 없이 사용할 때
예외가 발생한다const test; console.log(test);
const test; ^^^^ SyntaxError: Missing initializer in const declaration
-
const 키워드를 배열 또는 객체로 사용할 때
초기 할당이 되어있다면 추가, 삭제, 변경이 가능하다const arr = [1,2,3,4,5]; console.log(arr); // 추가 가능 arr.push(6); console.log(arr); arr.pop(); arr.pop(); console.log(arr);
[ 1, 2, 3, 4, 5 ] [ 1, 2, 3, 4, 5, 6 ] [ 1, 2, 3, 4 ]
-
const 키워드로 선언된 변수를 재할당 할 때
예외가 발생한다const arr = [1,2,3,4,5]; arr = [1,2,3];
arr = [1,2,3]; ^ TypeError: Assignment to constant variable.
반응형