<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>JavaScript on Codeslog</title>
    <link>https://www.codeslog.com/tags/javascript/</link>
    <description>Recent content in JavaScript on Codeslog</description>
    <image>
      <title>Codeslog</title>
      <url>https://www.codeslog.com/images/default-cover.png?v=20260114T1436</url>
      <link>https://www.codeslog.com/images/default-cover.png?v=20260114T1436</link>
    </image>
    <generator>Hugo -- 0.168.0</generator>
    <language>ko</language>
    <lastBuildDate>Tue, 15 Sep 2026 11:31:00 +0900</lastBuildDate>
    <atom:link href="https://www.codeslog.com/tags/javascript/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>폼 실시간 검증 제대로 하기: 타이밍부터 aria-invalid까지</title>
      <link>https://www.codeslog.com/posts/form-ux-validation/</link>
      <pubDate>Tue, 15 Sep 2026 11:31:00 +0900</pubDate>
      <guid>https://www.codeslog.com/posts/form-ux-validation/</guid>
      <description>포커스만 줘도 에러부터 띄우는 폼, 다 입력해야 알려주는 폼 — 검증 타이밍이 전부입니다. blur 이후 검증, aria-describedby·aria-invalid 연결, role=alert와 aria-live 구분을 실전 코드로 정리합니다.</description>
    </item>
    <item>
      <title>Safari 27이 고친 top-level await 버그, 재봤더니 로딩이 두 배 느렸다</title>
      <link>https://www.codeslog.com/posts/safari-top-level-await-fix/</link>
      <pubDate>Thu, 03 Sep 2026 11:25:33 +0900</pubDate>
      <guid>https://www.codeslog.com/posts/safari-top-level-await-fix/</guid>
      <description>사파리 26.6과 iOS 26.5에서 top-level await 재현 코드를 돌려 ReferenceError를 확인하고, 뒤에 선언된 모듈까지 앞 TLA를 기다리는 직렬화 증상을 실측했습니다. Safari 27이 고친 것과 그 전 버전 대응법까지.</description>
    </item>
    <item>
      <title>?? vs ||, 0이 사라지는 버그의 원인</title>
      <link>https://www.codeslog.com/posts/javascript-nullish-coalescing/</link>
      <pubDate>Tue, 14 Jul 2026 23:52:00 +0900</pubDate>
      <guid>https://www.codeslog.com/posts/javascript-nullish-coalescing/</guid>
      <description>?? 연산자(nullish coalescing)와 ||의 결정적 차이 — 0과 빈 문자열이 기본값에 먹히는 버그의 원인입니다. falsy의 함정, ??= 할당, 옵셔널 체이닝 조합, 그리고 둘을 섞으면 SyntaxError가 나는 이유까지 정리했습니다.</description>
    </item>
    <item>
      <title>Promise.all vs Promise.allSettled, 실수하기 쉬운 차이</title>
      <link>https://www.codeslog.com/posts/javascript-promise-methods/</link>
      <pubDate>Wed, 08 Apr 2026 01:00:00 +0900</pubDate>
      <guid>https://www.codeslog.com/posts/javascript-promise-methods/</guid>
      <description>Promise.all은 하나라도 실패하면 전체가 날아갑니다. 대시보드가 통째로 흰 화면이 된 경험 있으신가요? Promise.all과 Promise.allSettled의 핵심 차이를 실무 예제로 살펴보고, 언제 어떤 걸 써야 하는지 정리합니다.</description>
    </item>
    <item>
      <title>함수 선언식과 표현식, 제대로 알고 쓰기: 호이스팅까지 한 번에</title>
      <link>https://www.codeslog.com/posts/javascript-function-hoisting/</link>
      <pubDate>Sat, 04 Apr 2026 02:30:00 +0900</pubDate>
      <guid>https://www.codeslog.com/posts/javascript-function-hoisting/</guid>
      <description>함수를 선언 전에 호출했는데 왜 어떤 코드는 되고 어떤 코드는 TypeError가 날까요? 함수 선언식과 표현식의 차이, 호이스팅(Hoisting) 동작 원리, 화살표 함수까지 실무 예제와 함께 한 번에 정리합니다.</description>
    </item>
    <item>
      <title>다국어 블로그의 언어 전환 UX 개선: 스마트한 언어 제안 배너 만들기</title>
      <link>https://www.codeslog.com/posts/language-switcher-banner/</link>
      <pubDate>Fri, 23 Jan 2026 08:00:00 +0900</pubDate>
      <guid>https://www.codeslog.com/posts/language-switcher-banner/</guid>
      <description>브라우저 언어(navigator.language)를 감지해 적절한 언어 버전을 자동으로 제안하는 배너를 Hugo 블로그에 직접 구현했습니다. WCAG 2.2 AA 기준의 키보드 네비게이션과 스크린 리더 지원까지 다룬 구현 과정을 공유합니다.</description>
    </item>
    <item>
      <title>정적 사이트에서 동적 댓글 시스템 만들기: Giscus &#43; GraphQL API</title>
      <link>https://www.codeslog.com/posts/blog-comment-visibility-features/</link>
      <pubDate>Fri, 16 Jan 2026 18:00:00 +0900</pubDate>
      <guid>https://www.codeslog.com/posts/blog-comment-visibility-features/</guid>
      <description>Hugo 정적 블로그에 Giscus 댓글 수, 최근 댓글, 전체 댓글 페이지를 붙인 과정입니다. GitHub GraphQL API 호출과 토큰 설정, Cloudflare Pages 환경 변수, localStorage 캐싱, 접근성 처리까지 코드로 정리했습니다.</description>
    </item>
    <item>
      <title>코드 블록 접근성 개선: 스크린 리더 사용자가 선택하는 라인 넘버</title>
      <link>https://www.codeslog.com/posts/code-block-accessibility-improvement/</link>
      <pubDate>Fri, 09 Jan 2026 20:00:00 +0900</pubDate>
      <guid>https://www.codeslog.com/posts/code-block-accessibility-improvement/</guid>
      <description>Hugo PaperMod 블로그의 코드 블록을 개선한 기록입니다. 라인 넘버를 table 태그 대신 CSS Counter로 다시 구현해, 스크린 리더 사용자가 불필요한 표 정보 없이 코드를 읽을 수 있도록 더 시맨틱하고 접근성 높게 바꾼 과정을 정리합니다.</description>
    </item>
  </channel>
</rss>
