JavaScript 공식 문서 읽기 1일 차

2025. 9. 1. 19:05·TIL

1. 오늘 한 것 (What I Did)

1. 스위치문 학습

  • 기본 문법과 구조 이해
  • if-else와의 차이점 비교
  • fall-through 현상과 break의 중요성
  • 실제 코드 예시를 통한 활용법 학습

2. While문 동작 원리 파악

  • i-- 위치에 따른 실행 결과 차이 분석
  • 무한루프 방지 방법
  • 초기값 → 조건 확인 → 실행 → 변경 순서의 중요성

3. 코드 디버깅 실습

  • 문법 오류 찾기 (따옴표 불일치, 문자열 미완성)
  • if-else 문법 오류 수정
  • return문의 부적절한 사용 발견

4. JavaScript 기본 개념 정리

  • var, let, const의 스코프 차이
  • 호이스팅 개념과 함수 선언문 vs 표현식
  • 자동 형변환 규칙 (특히 + 연산자)
  • const 배열/객체 수정 가능 원리

5. MDN 공식 문서 읽기

  • 문법과 자료형 문서 분석
  • JavaScript 기본 실습 예제 이해
  • DOM 조작과 이벤트 처리 기초

2. 새롭게 알게 된 것 (What I Learned)

1. while문에서 i-- 위치의 임팩트

// 원래 코드 (i-- 마지막): Countdown10, 9, 8, ..., 1, Blast off
// i-- 맨 위로 이동 시: 9, 8, 7, ..., 1, Blast off, -1

핵심: 현재 값으로 작업한 후 변경 vs 변경한 후 새 값으로 작업의 차이

2. 스위치문 적용 기준의 명확한 구분

  • 적합: 정확한 값 매칭 (status === 'active')
  • 부적합: 범위 조건 (score >= 70)
  • switch (true) 패턴은 가능하지만 비추천

3. JavaScript 형변환의 일관성 없는 규칙

"5" + 3   // "53" (문자열 연결)
"5" - 3   // 2 (숫자 계산)
"5" * 3   // 15 (숫자 계산)

+ 연산자만 특별히 문자열 연결 우선

4. const의 진짜 의미

  • 변수 자체의 재할당 금지
  • 참조하는 객체/배열의 내용 변경은 가능
  • "참조를 고정"한다는 개념

5. 호이스팅의 실제 동작 방식

// 함수 선언문: 완전 호이스팅 (선언 전 호출 가능)
// 함수 표현식: 변수만 호이스팅 (undefined 상태)
// let/const: temporal dead zone

6. DOM 조작 시 요소 존재 확인의 중요성

let element = document.querySelector("selector");
if (element) {  // 요소가 존재하는지 확인 후 조작
    element.textContent = "내용";
}

7. 이벤트 처리에서 함수 참조 vs 호출

// 잘못: button.onclick = myFunction(); (즉시 실행)
// 올바름: button.onclick = myFunction; (함수 참조)

3. 여전히 모르겠는 부분 (What I'm Still Confused About)

1. 언제 어떤 문법을 선택해야 효율적인가?

  • for vs while: 개인 선호라고 하는데 실제 기준이 궁금
  • if-else vs switch: 경계선이 애매한 경우들
  • 함수 선언문 vs 표현식: 호이스팅 외의 실무적 차이점

2. JavaScript의 "유연함"의 구체적 의미

  • 문서에서 "믿을 수 없을 정도로 다재다능"이라고 하는데
  • 다른 언어 대비 어떤 점이 특별히 유연한지
  • 이 유연함이 실제 개발에서 어떤 장단점을 가져오는지

3. 스코프와 관련된 복잡한 상황들

// 이런 상황에서 변수가 어떻게 동작하는지
function outer() {
    var a = 1;
    function inner() {
        var b = 2;
        // a와 b에 접근 가능?
    }
    // b에 접근 가능?
}

4. 이벤트 버블링/캡처링

  • 개념은 이해했지만 실제 문제 상황과 해결법
  • 언제 이것 때문에 문제가 생기고 어떻게 대처하는지

5. 동적 타이핑의 실무적 활용

  • 타입이 자유롭게 바뀌는 게 언제 도움이 되고 언제 문제가 되는지
  • TypeScript 같은 도구가 필요한 이유와 연결점
저작자표시 비영리 변경금지 (새창열림)
'TIL' 카테고리의 다른 글
  • [시행착오편] 디스코드 봇 만들기: 포스트 자동 생성 봇
  • React에서 HTML input 속성을 활용한 실시간 유효성 검증 구현
  • 2025-08-20 Props와 이벤트 객체 'e' 이해하기
  • 2025-08-19 React 공식 문서 - 상호작용 더하기
한비(BIBI)
한비(BIBI)
IT 업계에서 오랫동안 일 하고 싶습니다. 가능하다면 죽을 때까지 배우며 살고 싶습니다. 마케팅과 CX 분야에서 커리어를 쌓았습니다. 지금은 IT 업계에 더 깊이 있게 기여하고자 개발 공부를 하고 있습니다. 이 배움의 여정을 글로 남기고 싶어 블로그를 시작했습니다.
  • 한비(BIBI)
    0과 1로된 세상
    한비(BIBI)
  • 전체
    오늘
    어제
    • 분류 전체보기 (33)
      • 크래프톤 정글 (5)
      • Computer Science (10)
      • 읽고 쓰고 생각하기 (1)
      • 일하면서 배웁니다 (1)
      • TIL (15)
  • 링크

    • LinkedIn
    • Threads
    • Twitter
  • 인기 글

  • 태그

    시스템설계
    정글후기
    크래프톤정글
    CPU스케줄링
    뉴스피드시스템
    컴퓨터과학입문
    운영체제구조
    gpt인프라
    나만무프로젝트
    데이터시각화
  • hELLO· Designed By정상우.v4.10.4
한비(BIBI)
JavaScript 공식 문서 읽기 1일 차
상단으로

티스토리툴바