250x250
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 |
Tags
- 즉시로딩
- eager
- FetchType
- querydsl
- JPQL
- 데코레이터
- 연결리스트
- 힙
- 이진탐색
- 일대다
- exclusive lock
- fetch
- 연관관계
- 유니크제약조건
- dfs
- SQL프로그래밍
- 스프링 폼
- BOJ
- 지연로딩
- execute
- 동적sql
- 스토어드 프로시저
- shared lock
- 낙관적락
- 백트래킹
- 다대일
- CHECK OPTION
- PS
- 다대다
- 비관적락
Archives
- Today
- Total
흰 스타렉스에서 내가 내리지
[JS] var, let, const 와 hoisting 본문
728x90
호이스팅(hoisting) : 변수를 어디서 선언했는지 상관없이 항상 제일 위로 선언을 끌어올려 주는 것을 말한다.
var 타입은 선언하기도 전에 변수에 접근해도 undefined만 뜨지 에러가 나지 않는다. 호이스팅 덕분.
let과 const타입은 선업 전에 변수에 접근하면 error가 난다.
var은 블록스코프를 무시한다. 블록스코프에서 선언하더라도 아무데서나 접근할 수 있다.
let과 const 타입으로 지정된 변수는 블록스코프에서 선언 하였을 때 블록 밖에서 사용하지 못한다.
let은 변수 할당 뒤에도 값 변경이 가능하다.
const는 선언과 동시에 값 할당을 해야하며, 할당 이후에는 재할당이 불가능하다.
const로 object를 할당한다면?
object 자체는 변경할 수 없지만, object 내부의 값은 변경할 수 있다. 원리는 아래 사진과 같다.
const joos{ name='joos', age='23'};
object에 대한 레퍼런스는 잠겨있지만, object 내부의 변수에 대한 레퍼런스는 잠겨있지 않기 때문이다.
'Javascript' 카테고리의 다른 글
[JS] Function (함수) (0) | 2022.01.17 |
---|---|
[JS] object.freeze() 오브젝트를 동결시키기 (0) | 2022.01.17 |
[JS] Strict Mode로 안전하게 자바스크립트 코딩하기 (0) | 2022.01.16 |
[JS] async와 defer의 차이 (0) | 2022.01.16 |
[JS] 객체 생성자 함수 (Object Constructor Function) + 프로토타입 (Prototype) (0) | 2022.01.08 |