JavaScript, NaN 뭔지는 알고 있자

2024. 11. 12. 00:39·웹개발/JavaScript
728x90

혹시 NaN(Not a Number)이라는 결과를 본적이 있지 않으신가요?

없으시다면,, 고수시거나 뉴비시거나 둘중 하나일 테지요.. 하하하

 

NaN이란 "Not a Number"라는 뜻으로 자바스크립트에서 "숫자가 아니다."를 나타내는 특수한 값이에요. 숫자 연산 중에서 정상적인 숫자 값을 얻을 수 없는 경우에 NaN이 반환이 됩니다. 가장 쉬운예시로 24+"2" 이런식이죠,

더 많은 예시를 보여드릴게요.

console.log(Number("hello")); // NaN
console.log(10 / "two");      // NaN
console.log(Math.sqrt(-1));   // NaN

이 코드에서 알 수 있듯이, 문자열을 숫자로 변환할 수 없거나, 0으로 나누거나 등등 잘못된 연산에서 NaN이 발생합니다.

 

NaN의 특성 4가지는 알고 있으시면 좋을 것 같아요.

  1. NaN은 Number 타입으로, typeof NaN의 결과는 "number"입니다.
  2. NaN과의 모든 연산 결과는 NaN입니다. NaN + NaN은 NaN입니다.
  3. NaN은 ==와 ===로 비교할 때 서로 같이 않습니다. NaN === NaN은 false입니다.
  4. isNaN()함수를 사용하면 쉽게 NaN값을 검사할 수 있습니다.
728x90

'웹개발 > JavaScript' 카테고리의 다른 글

JavaScript 함수의 호이스팅  (0) 2024.11.12
null의 typeof가 object인 이유  (0) 2024.11.12
JavaScript 리터럴이란 무엇인가  (0) 2024.11.12
네이밍 컨벤션 4가지: 카멜, 스네이크, 파스칼, 케밥 케이스  (0) 2024.11.12
CodeSnap으로 캡처하자: VSCode 코드 캡처 라이브러리  (3) 2024.11.11
'웹개발/JavaScript' 카테고리의 다른 글
  • JavaScript 함수의 호이스팅
  • null의 typeof가 object인 이유
  • JavaScript 리터럴이란 무엇인가
  • 네이밍 컨벤션 4가지: 카멜, 스네이크, 파스칼, 케밥 케이스
튼튼발자
튼튼발자
프론트엔드 개발자입니다. 헬스를 가끔해서인지 몸이 튼튼한거 같습니다. 그래서 튼튼한 개발자 => 튼튼발자입니다. 프론트엔드 및 관련 개발 내용 블로그 글로 정리해서 올려둡니다.
    250x250
  • 튼튼발자
    튼튼발자
    튼튼발자
  • 전체
    오늘
    어제
    • 분류 전체보기 (192)
      • 튼튼발자의 끄적끄적 (10)
      • 웹개발 (94)
        • HTML (5)
        • CSS (2)
        • JavaScript (40)
        • TypeScript (5)
        • REACT (22)
        • Next.js (13)
        • GIt (7)
      • 기타 (3)
        • 일상 (3)
      • 프로젝트 (27)
        • Componique: UI 컴포넌트 라이브러리 (18)
        • GitHub Profile Viewer (8)
        • 잇핏 (1)
      • 프론트엔드 개발자로 취업준비 (1)
        • 기술 면접 (7)
        • 코딩 테스트 준비하기 (0)
        • 자기소개서&지원서&이력서 (0)
      • 컴퓨터과학 (12)
        • 운영체제 (6)
        • 알고리즘 (6)
      • 전공 공부 (37)
        • AI(인공지능) (2)
        • 컴퓨터네트워크 (19)
        • 네트워크프로그래밍 (3)
        • SW소프트웨어응용설계 (7)
        • 클라우드컴퓨팅 (3)
        • 웹서비스프로그래밍 (3)
      • PT (0)
      • 취준일기 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    JS
    componique
    프론트엔드
    github
    자바스크립트
    react
    NextJs
    상태관리
    JavaScript
    tailwind
    프로그래밍
    웹개발
    TCP
    트랜스포트계층
    네트워크
    데이터전송
    ui컴포넌트
    프론트엔드개발
    리액트
    코딩
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
튼튼발자
JavaScript, NaN 뭔지는 알고 있자
상단으로

티스토리툴바