Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- 이벤트캡쳐링
- use-strict
- 디자인참고
- gitstatus
- 자료구조_배열
- React
- html기본태그
- 리액트
- 코딩독학
- 컴포넌트
- Block
- 피그마기초
- blockscope
- 변수타입과 레퍼런스
- audioTag
- 공부기록
- inlineblock
- 정적배열
- Form
- arrow function
- baekjun
- boxshadow
- 선택자우선순위
- github폴더생성
- tableTag
- hoisting
- html
- gh-pages
- inline
- sectioning Elements
Archives
- Today
- Total
//log my lifestyle
[JavaScript] 드림코딩 : let, const, var 본문
let ,constant
변수를 지정할때 let과 const로 선언할수있다. (ES6부터 적용됨)
let | const |
![]() |
![]() |
그림은 어플리케이션마다 쓸수있는 메모리가 제한적으로 할당됨을 보여준다. | |
mutable data | immutable data |
값을 변경할수있음 읽기,쓰기 가능 |
한번 선언한 변수는 고정값을 가짐 읽기만가능 |
const를 쓰는 이유: (1) 보안상 해킹 오류방지 (2) 하나의 어플리케이션 프로세스안에서 다양한 스레드(thread)가있고, 스레드에 동시에 접근하여 변경가능,이는 위험여지가있으므로 변하지않는값을 사용 (3) 변경할필요가없을때 const를 써서 작업시 실수 방지 |
var
let 은 ES6부터 추가되었는데 ES6이전에는 var를 사용하였다. var는 변수를 지정하는데 큰 단점이 있어 사용을 지양
단점1. hoisting

변수를 선언하고나서 값을 선언하는게 정상적이지만
선언도하기전에 값을 할당할수있고, 할당하기전에도출력할수있다.(출력하면 undefined으로 뜬다)
이러한 현상을 hoisting
이라고 부른다.
hoisting :어디에 선언하는지 상관없이 항상 제일위로 선언을 끌어올려준다는 의미
단점2. has no block scope
var는 블록스코프가 없다. 블록안에서 변수를 선언해도 밖에서 값을 출력할수있게 되는데
체계가없어지므로 위험부담이 생길수있게된다.
block Scope와 global scope
- block Scope
{ }안에서 선언한 변수는 블록스코프를 가진다. 블록 밖에서는 기능을 못한다. - global scope
반대로 블록밖에서 지정된 변수는 글로벌스코프를 가진다. 어느곳에서나(블록안이나 밖) 적용가능하다
글로벌변수들은 어플리케이션실행부터 끝날때까지 메모리에 탑재되어있기때문에 최소한으로만 쓰는것이좋다.
let a = 24;
{
let b = 3;
}
console.log(a); //24
console.log(b); //ReferenceError: b is not defined
//a는 전역스코프를가져서 호출되지만 b는 블록스코프를 가지기때문에 함수밖에서호출시 에러가난다.
아래 영상을 보고 공부내용 정리한글입니다.
Reference
'Web > Javascript' 카테고리의 다른 글
[AJAX ]생활코딩 : AJAX 란? (0) | 2022.04.21 |
---|---|
[JavaScript] Event Bubbling & Capturing (0) | 2021.12.22 |
[JavaScript]드림코딩 : script async와 defer의 차이점 (0) | 2021.09.05 |
[JavaScript]드림코딩 : 자바스크립의 역사 |현재와 미래 (0) | 2021.09.05 |
노마드코더 크롬앱 만들기챌린지 (0) | 2021.08.19 |