Book
-
14. 전역변수의 문제점 / 15. let, const와 블록레벨 스코프Book/모던 Javascript Deep Dive 2023. 11. 23. 21:53
생명주기 프로그래밍에서 변수의 '생명주기(Life Cycle)'란 변수가 생성되고 소멸되기까지의 과정을 의미합니다. JavaScript에서는 이 생명주기가 지역변수(Local Variables)와 전역변수(Global Variables)에 따라 크게 다르게 작동합니다. 지역변수의 생명주기 지역변수는 함수 내부에서 선언되며, 해당 함수가 호출되어 실행될 때 생성됩니다. 함수의 실행이 종료되면, 그 함수의 지역변수도 함께 소멸됩니다. 이는 함수의 생명주기와 지역변수의 생명주기가 일치한다는 것을 의미합니다. 지역변수는 함수가 생성한 스코프 안에서 유효하며, 이 스코프는 '렉시컬 환경(Lexical Environment)'이라는 개념으로 표현됩니다. 렉시컬 환경은 함수가 호출될 때 생성되고, 함수가 종료될 때 ..
-
[모던 JS Deep Dive] 08. 제어문 / 09. 타입변환과 단축평가 / 10. 객체 리터럴 / 11. 원시값과 객체의 비교Book/모던 Javascript Deep Dive 2023. 11. 7. 14:56
제어문 제어문은 조건에 따라 코드 블록을 실행(조건문)하거나 반복 실행(반복문) 할 때 사용한다. 일반적으로 코드는 위에서 아래로 순차적으로 진행되지만, 제어문을 사용하면 코드의 순서를 인위적으로 제어할 수 있다. 블록문 블록문은 0개 이상의 문을 중괄호로 묶은 것으로, 하나의 실행 단위로 취급한다. 조건문 주어진 조건식의 평가 결과에 따라 코드 블록의 실행을 결정한다. 자바스크립트는 if...else 문과 switch 문으로 두 가지 조건문이 있다 if...else 문 if (조건식) { // 조건식이 참이면 이 코드 블록이 실행된다 } else { // 조건식이 거짓이면 이 코드 블록이 실행된다 } if 의 조건식은 참/거짓을 판단해야하기 때문에 불리언 값으로 평가되어야한다. 만약 조건식이 불리언 값..
-
[모던 JS Deep Dive] 04. 변수 / 05. 표현식과 문 / 06. 데이터타입 / 07. 연산자Book/모던 Javascript Deep Dive 2023. 11. 7. 11:52
변수 변수란, 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모라 공간을 식별하기 위해 붙인 이름이다. 또는 값의 위치를 가리키는 상징적인 이름이라고 생각할수도 있다. 우리가 컴퓨터에게 10+20 이라는 연산 수행을 시킬 때, 10과 20을 메모리에 저장하고 연산 결과값인 30도 메모리에 저장한다. 결과값 30은 메모리에 저장이 되어있기 때문에 30을 가져오고싶다면 메모리에 접근하여 가져와야한다. 하지만 메모리 주소를 통해 직접 접근하는 것은 치명적 오류를 발생시킬 가능성이 매우 높은 위험한 일이다. 만약 실수로 운영체제가 사용하고 있는 값을 변경하면 시스템을 멈추게하는 치명적인 오류가 발생할 수도 있다. 따라서 자바스크립트는 개발자의 직접적인 메모리 제어를 허용하지 않기 때문에, 변수를..