Skip to main content

Command Palette

Search for a command to run...

Series

JavaScript

JavaScript 관련 학습 내용 및 고민의 흔적을 기록합니다.

  1. [JS] 불변성(Immutability)

    자바스크립트에서 불변성(Immutable)에 대한 설명을 찾아보면 오히려 헷갈리는 경우가 많았다. 나도 처음에는 "불변성이 새로운 값을 할당할 때, 기존 값이 변경되는 것이 아니라, 새로운 메모리 공간에 저장된다"라고 단순하게 이해했었다. 하지만 이렇게만 알면 디테일이 빠져 공부할수록 더 혼란스러웠다. 따라서 이번 포스팅에서는 내가 직접 정리한 불변성과 가변성에 대한 개념을 명확하게 설명하고자 한다. 📌 불변성 자바스크립트에서 불변성을 구분...

    Feb 10, 20255 min read45
    [JS] 불변성(Immutability)
  2. [js] 불변 객체(얕은 복사, 깊은 복사)

    앞서 불변성(immutability)의 개념과 중요성에 대해 알아보았습니다. (아직 읽지 않았다면 아래 포스팅을 먼저 확인해주세요!) https://ddoit.hashnode.dev/js-immutability 그렇다면 이제 불변 객체를 만들려면 어떻게 해야할까요? 📌 불변 객체를 만드는 방법 기존 객체의 원본을 직접 수정하지 않으려면 새로운 객체를 생성하는 방식이 필요하다.이를 위해 "얕은 복사(Shallow Copy)" 또는 "깊은 복사(...

    Feb 11, 20257 min read18
    [js] 불변 객체(얕은 복사, 깊은 복사)
  3. 호이스팅 & Tdz 정리

    호이스팅이란? 코드가 실행되기 전인 실행 컨텍스트 생성 시점에 변수나 함수 선언이 실행 전에 메모리에 등록되어, 코드 상에서는 마치 위로 끌어올려진 것처럼 보이는 현상입니다. console.log(msg); // undefined var msg = "hello"; 이 코드는 에러가 아니라 undefined를 출력합니다.왜냐면 자바스크립트는 실제로 이 코드를 다음처럼 해석하기 때문입니다: var msg; // 선언만 먼저 끌어...

    Feb 18, 20254 min read24
  4. 콜백 함수란?

    🔍 콜백 함수(Callback Function)란? 콜백 함수는 함수 또는 메서드에게 인자로 넘겨줌으로써 그 제어권을 함께 위임한 함수이다.제어권을 위임했다는 건 무슨 의미일까요?"제어권"은 주로 호출 시점, 즉 언제 실행될지를 결정하는 것을 의미한다.때로는 인자 전달이나 this 바인딩과 같이 실행 환경에 대한 제어도 포함되지만, 핵심은 함수의 실행 시점을 다른 함수에게 맡긴다는 점이다.즉, 콜백 함수를 위임받은 코드는 자체적으로 내부 로직...

    Feb 20, 20254 min read26
    콜백 함수란?
  5. [js] 프로토타입과 상속 정리

    자바스크립트에서 객체 지향 프로그래밍(OOP)을 이해하려면 생성자 함수, 인스턴스, 프로토타입, 상속 개념이 필수적이다.이번 포스팅에서는 프로토타입과 상속이 어떻게 동작하는지 정리해보았다. 1️⃣ 프로토타입이 필요한 이유 자바스크립트에서 객체를 생성할 때, 공통된 메서드(함수)를 모든 객체가 개별적으로 가지면 비효율적이다.예를 들어, 다음과 같은 경우를 생각해보자. ❌ 개별 객체마다 중복된 메서드 생성 function User(name, age...

    Mar 4, 20258 min read14
    [js] 프로토타입과 상속 정리
  6. Js 돌아보기1

    “자바스크립트.. 처음은 쉽지만, 갈수록 복잡하다?!” 자바스크립트를 공부하다 보면 처음엔 쉽다고 느끼지만, 어느 순간부터 this, 스코프, 클로저, 실행 컨텍스트 같은 개념들이 쏟아지며 “왜 이렇게 복잡하지?”라는 생각이 들곤 합니다.이 글은 자바스크립트가 왜 그렇게 설계되었고, 무엇을 알아야 제대로 다룰 수 있는지를 풀어보려 합니다. ☕️ 시작: JS는 원래 간단한 언어가 목적이였다. 자바스크립트는 원래 웹페이지에 간단한 동작을 넣기 위...

    Jun 25, 20254 min read46
JavaScript