본문 바로가기
학습중.../(책)모던 자바스크립트

~p45

by sweesweet 2022. 12. 27.

p15 자바스크립트는 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원한다

p25 디버깅 source tab에서 breakpoint설정 https://ko.javascript.info/debugging-chrome 

 

Chrome으로 디버깅하기

 

ko.javascript.info

p36 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기위해 붙힌 이름!

p38-39 변수 이름을 식별자라고 한다. 식별자는 어떤 값을 구별해서 식별할 수 있는 고유한 이름을 말함. 식별자는 값이 아니라 메모리 주소를 기억하고 있음.  

p41 변수를 선언했을 때 변수이름을 등록하고 값을 저장할 메모리 공간을 확보한다. 메모리 공간은 비어있지 않고, 자바스크립트 엔진에 의해 undefined라는 값이 암묵적으로 할당되어 초기화된다.

변수선언은 선언단계/초기화단계 2단계를 거쳐 수행된다 .

초기화 단계를 거치지 않을 시, 이전에 다른 어플리케이션이 사용한 값이 남아있을 수 있다.

변수 이름은 어디에 등록되어 있는가?
-모든 식별자는 실행 컨텍스트에 등록된다.
실행컨텍스트는 자바스크립트 엔진이 소스코드를 평가하고 실행하기 위해 필요한 환경을 제공, 코드의 실행결과를 실제로 관리하는 영역!
자바스크립트는 실행컨텍스트를 통해 식별자와 스코프를 관리
안에서 변수이름:변수값=>key: value 이런식으로 객체로 관리됨

 p43 변수 선언문이 코드의 선두로 끌어 올려진 것 처럼 동작하는 자바스크립트 고유의 특징을 변수 호이스팅이라고한다

**사실 변수 선언뿐만 아니라 var let const function function* class 키워드를 사용해서 선언하는 모든 식별자는 호이스팅된다

**변수선언은 런타임 이전에 실행되지만, 값의 할당은 런타임에 실행

(런타임이란? 소스코드가 순차적으로 실행되는 시점)

p45 변수에 값을 할당할 때는 이전값 undefined가 저장되어있던 메모리 공간을 지우고 그 메모리 공간에 할당값 80을 새롭게 저장하는것이 아니라 새로운 메모리 공간을 확보하고 그곳에 할당값80을 저장하는 점에 주의

 

 

[출처]모던 자바스크립트 Deep Dive

'학습중... > (책)모던 자바스크립트' 카테고리의 다른 글

~p123  (0) 2023.01.02
~p107  (0) 2023.01.01
~p92  (0) 2022.12.30
~p73  (0) 2022.12.29
~p62  (0) 2022.12.28