[개인학습] 모던 자바스크립트 Deep Dive (2)

jeong_wuk927·2023년 6월 16일
0

들어가며...

책이 상당히 굵다. 목차가 거의 50개 가까이 되고 900페이지가 넘는다. 하루에 한 챕터를 목표로 읽고 있지만 어렵고 이해가 되지 않는 챕터는 시간을 더 잡아먹을 수도 있다. 오늘은 나름 나의 공부 방식에 새로운 걸 추가해 보았다. 학교에서도 나는 1시간 이상 집중하기 어려웠고 50분 집중하면 10분은 쉬어야 했다. 그 방법을 오늘 적용해 보았는데 나름 괜찮은 것 같다. 또 인생의 목표에 대해 다시 생각해 보는 하루였다. "취업이 인생의 목표가 되면 안 된다"라는 말이 와닿아 곰곰이 생각해 보았는데 맞는 말 같았다. 인생에서 딱 두 가지 큰 목표를 정해두면 좋을 것 같다는 생각이 들었다. 하나는 내 삶을 돈으로부터 자유로워지게 만드는 길이고 다른 하나는 앞의 목표에서 파생되는 돈으로부터 자유로워진 이후의 삶에 대한 목표이다.



4장. 변수

변수는 메모리 공간 자체 혹은 식별하기 위한 이름

변수는 메모리 공간 자체라는 말에 나는 자바스크립트에서 선언된 실제 변수의 메모리 주소가 궁금해졌다. 그래서 구글에 쳐보니... https://yceffort.kr/2022/04/how-javascript-variable-works-in-memory 이런 사이트가 나왔다. 핵심적인 부분만 얘기하자면 자바스크립트의 변수는 힙에 위치한 C++ 객체를 가리키는 메모리 주소라는 결론이다. 더 파고들다간 v8 엔진부터 해서 배보다 배꼽이 더 큰 상황을 만들고 싶지 않았기 때문에 바로 넘어갔다.

변수 선언과 할당

변수 선언은 var, let, const 세 가지 키워드로 하며, 모든 선언들은 자바스크립트의 특이한 동작인 호이스팅에 영향을 받는다.

var 의 함수 스코프가 문제가 많다.

그리고 또 중요한 점은 자바스크립트는 변수의 선언과 동시에 undefined 값이 할당되고 프로그램에 유효한 값을 재할당 시켜줘야 한다.

네이밍 규칙

  1. 특수문자를 제외한 문자, 숫자, 언더스코어(_), 달러 기호($)를 포함할 수 있다.
  2. 특수문자를 제외한 문자, 언더스코어(_), 달러 기호($)로 시작해야 한다.
  3. 예약어는 식별자로 사용할 수 없다.
profile
음악하는 개발자

0개의 댓글