Programing/javascript

함정에 빠지기 쉬운 자바스크립트 문법11

2025. 5. 5. 09:47
반응형

이번 11편에서는 타입 관련 실수와 내장 객체의 오용으로 발생하는 자주 겪는 오류들을 다룹니다.

✅ 1. typeof null은 왜 "object"일까?

📌 설명

자바스크립트 초기 설계 버그로 인해 typeof null은 "object"를 반환합니다. null은 원시 타입이지만 객체처럼 보이는 혼란을 줍니다.

📌 대처

null 체크는 반드시 value === null로 진행합니다.


✅ 2. Math.max()와 Math.min()의 빈 인수 처리

Math.max(); // -Infinity
Math.min(); // Infinity

📌 설명

인수가 없는 경우 Math.max()는 최솟값, Math.min()은 최댓값을 반환함으로써 잘못된 비교 결과를 낼 수 있습니다.


✅ 3. parseInt는 radix 생략 시 혼란 발생

parseInt("08"); // 8 (modern JS)
parseInt("08", 10); // 8 (명시적)

📌 설명

과거 일부 브라우저에서는 0으로 시작하는 문자열을 8진수로 해석한 경우도 있었습니다.

📌 대처

항상 radix(기수)를 명시해서 사용합니다.


✅ 4. Date 객체는 월이 0부터 시작된다

new Date(2024, 3, 1); // 2024년 4월 1일

📌 설명

Date 생성자의 월(month)은 0부터 시작합니다. 실수로 1을 더하거나 빼는 경우가 자주 발생합니다.


✅ 5. new Boolean(false)는 truthy이다

const val = new Boolean(false);
if (val) {
  console.log("실행됨");
}

📌 설명

객체는 내용과 무관하게 항상 truthy입니다. new Boolean은 wrapper 객체를 생성하므로 if 조건문에서 참으로 평가됩니다.


✅ 결론

내장 객체는 자바스크립트를 강력하게 만들어주는 도구지만, 잘못 사용할 경우 원치 않는 결과를 초래할 수 있습니다. 정확한 사용법과 타입 처리의 이해는 필수입니다.

반응형

'Programing > javascript' 카테고리의 다른 글

JavaScript 조건문  (0) 2025.05.18
JavaScript 반복문  (0) 2025.05.18
함수 선언식과 함수 표현식의 차이  (2) 2025.05.05
함정에 빠지기 쉬운 자바스크립트 문법12  (0) 2025.05.05
함정에 빠지기 쉬운 자바스크립트 문법10  (0) 2025.05.05
함정에 빠지기 쉬운 자바스크립트 문법9  (0) 2025.05.05
함정에 빠지기 쉬운 자바스크립트 문법8  (1) 2025.05.05
함정에 빠지기 쉬운 자바스크립트 문법7  (1) 2025.05.05
'Programing/javascript' 카테고리의 다른 글
  • 함수 선언식과 함수 표현식의 차이
  • 함정에 빠지기 쉬운 자바스크립트 문법12
  • 함정에 빠지기 쉬운 자바스크립트 문법10
  • 함정에 빠지기 쉬운 자바스크립트 문법9
Dongkkase
Dongkkase
개발자로 일하면서 부딪히는 문제풀이가 누군가에게 도움이 되길 바라며
    반응형
  • Dongkkase
    정집사의 개발로그
    Dongkkase
  • 전체
    오늘
    어제
    • All (478)
      • 금융 (61)
      • Programing (295)
        • Algorithm (39)
        • API (2)
        • javascript (122)
        • CSS (8)
        • HTML (10)
        • PHP (15)
        • JAVA (27)
        • JSP (17)
        • JSP 예제 (1)
        • IOS (1)
        • Android (1)
        • Sencha Touche (1)
        • bat file, cmd (0)
        • 디버깅 (2)
        • SQL (21)
        • MS-SQL (1)
        • MySQL (13)
        • 보안 (5)
      • Server (14)
        • Docker (1)
        • Windows (9)
        • Linux (3)
        • jeus (1)
      • Database (6)
      • IT 일반 (15)
      • 리뷰 (38)
        • Book (17)
        • 제품 (2)
        • 영화 소개 (11)
        • 음악 소개 (7)
      • 잡생각 (36)
        • 회고 (3)
        • 컬럼 (4)
        • 자료실 (6)
        • 낙서장 (12)
        • 위시리스트 (2)
        • WOW (1)
        • 덕 (1)
  • 인기 글

  • 최근 댓글

  • 태그

    JavaScript
    디자인패턴
    자바스크립트유틸
    IT블로그
    IT 관련
    php
    읽고 싶은 책
    jsp
    IT·컴퓨터
    자바스크립트
    사고 싶은 책
    위시리스트
    iT's MY LiFE
    SQL
    It
    기초
    Java
    블로그
    js패턴
    자바
Dongkkase
함정에 빠지기 쉬운 자바스크립트 문법11
상단으로

티스토리툴바