
생각 없이 배우기만 하면 얻는 것이 없고,
생각만 하고 배우지 않으면 오류나 독단에 빠질 위험이 있다. - 공자
어제에 이어 자바스크립트의 개념을 공부했습니다. 오늘은 단순히 몇 가지 주제를 넘어, javascript.info의 Part 1의 4.5 객체: 기본까지를 훑으며 언어의 근간부터 객체 지향의 문턱까지 방대한 양의 지식을 정주행했습니다.
모든 것에는 규칙이 있듯, 자바스크립트라는 언어와 소통하기 위한 최소한의 약속과 도구 사용법을 익혔습니다.
'use strict'): 코드의 예측 가능성을 높이고 잠재적인 실수를 방지해 주는 최소한의 안전장치. 모던 자바스크립트 개발의 기본 자세입니다.결국 모든 프로그램은 데이터를 다루는 것입니다. 데이터를 담고, 종류를 구분하며, 조작하는 방법을 복습했습니다.
let, const): 데이터를 담는 그릇. 이제 var는 사용하지 않으려 합니다.alert, prompt로 사용자와 소통하고, 그 과정에서 필연적으로 발생하는 문자열과 숫자 사이의 '형 변환'을 명시적으로 다루는 것의 중요성을 깨달았습니다.??)까지. 데이터를 조합하고 비교하며 코드의 흐름을 만드는 기본 도구들을 다시 점검했습니다.데이터를 어떤 순서와 조건으로 처리할지 결정하는 제어문에 대해 학습했습니다.
if, ?, switch): 상황에 따라 다른 코드를 실행하게 만드는 로직의 분기점입니다.while, for): 지루한 반복 작업을 컴퓨터에게 맡기는 자동화의 첫걸음입니다.코드의 재사용성을 높이고 구조를 만드는 핵심, 함수. 선언 방식에 따라 미묘한 차이가 있었습니다.
this를 다루는 방식이 달라 편리할 때도, 위험할 때도 있다는 점을 배웠습니다. 간결함이 항상 정답은 아닙니다.오늘 학습의 가장 깊이 있는 부분이었습니다. 자바스크립트가 어떻게 객체를 다루는지, 그 원리를 파고들었습니다.
structuredClone: '참조 공유'의 문제를 해결하고 완전한 복사본을 만드는 가장 현대적이고 강력한 방법입니다.this와 메서드: 함수가 '누구의 것'인지 알려주는 this. 호출되는 방식에 따라 동적으로 변하는 this의 규칙을 익혔습니다.new와 생성자 함수: 붕어빵 틀(생성자)로 붕어빵(인스턴스)을 찍어내듯, 일관된 구조의 객체를 효율적으로 생성하는 방법을 배웠습니다.단순히 동작하는 코드를 넘어, 좋은 코드를 만들기 위한 여러 관점을 배웠습니다.
방대한 양의 이론을 훑었습니다. 하지만 이 모든 것을 안다고 자만할 수 없습니다. console.log를 찍어보는 것과 실제 프로젝트에서 마주하는 문제는 다르기 때문입니다.
오늘 머릿속에 자바스크립트 문법을 때려 붓느라 제 뇌에도 가비지 컬렉션이 시급합니다. 하지만 이건 삭제될 쓰레기 데이터가 아니라, 미래의 저를 지탱할 단단한 기초 공사입니다.
console.log로 확인하던 평화로운 시간은 이제 끝났습니다. 내일부터는 버그와 함께 춤을 추며, '왜?'라는 질문에 코드로 답하는 개발자가 되겠습니다. 이론은 충분하니, 이제는 증명할 시간입니다.
잘봤습니다~