>웹 프론트엔드 >JS 튜토리얼 >이해 !! JavaScript로 - 간단한 가이드

이해 !! JavaScript로 - 간단한 가이드

Patricia Arquette
Patricia Arquette원래의
2024-11-19 08:10:02576검색

Understanding !! in JavaScript - Simple Guide

본 적 있어요!! JavaScript 코드를 작성했는데 무슨 일이 일어나고 있는지 궁금하신가요? 간단하게 풀어보겠습니다.

무엇을 !! 하다?

이중 강타(!!)는 모든 값을 부울(참 또는 거짓)로 변환하는 빠른 방법입니다. 정말 간단해요!

JavaScript에 "이 값이 존재하고 의미가 있나요?"라고 묻는 것과 같다고 생각하세요.

  • 그렇다면 사실입니다.
  • 아니면 거짓입니다

실제 사례 보기

몇 가지 간단한 예를 살펴보겠습니다.

// These become true
!!42          // true (any number except 0)
!!"Hello"     // true (any non-empty string)
!!{}          // true (any object)
!![]          // true (any array)

// These become false
!!0           // false
!!""          // false (empty string)
!!null        // false
!!undefined   // false

실제 사례

1. 사용자가 자신의 이름을 제공했는지 확인

function validateName(name) {
    if (!name) {  // same as if (!!name === false)
        return "Please enter your name";
    }
    return `Thanks, ${name}!`;
}

validateName("")        // "Please enter your name"
validateName("Sarah")   // "Thanks, Sarah!"

2. API 응답에 데이터가 있는지 확인

function handleResponse(data) {
    const hasData = !!data?.items?.length;

    if (hasData) {
        return "Found some results!";
    }
    return "No results found";
}

handleResponse({items: []})      // "No results found"
handleResponse({items: [1,2,3]}) // "Found some results!"

언제 사용해야합니까 !!?

!! 다음과 같은 경우에 특히 유용합니다.

  1. "참" 또는 "거짓" 값 대신 실제 부울이 필요합니다
  2. 값이 존재하고 의미가 있는지 확인하고 있습니다
  3. 코드의 의도를 매우 명확하게 만들고 싶습니다

어떤 가치가 거짓이 되나요?

!!를 사용할 때 false가 되는 값은 모두 다음과 같습니다.

  • 0
  • ""(빈 문자열)
  • 정의되지 않음
  • NaN
  • 거짓

다른 모든 것은 현실이 됩니다!

전문가의 팁

1. If 문 바로가기

if 문에서 JavaScript는 자동으로 값을 부울로 변환하므로 다음과 같습니다.

if (!!username) {
    // do something
}

동일함:

if (username) {
    // do something
}

2. 대신 Boolean() 사용

일부 개발자는 무슨 일이 일어나고 있는지 더 분명하기 때문에 Boolean() 사용을 선호합니다.

Boolean("hello")   // true
Boolean("")        // false
!!("hello")        // true
!!("")            // false

두 가지 모두 동일한 방식으로 작동합니다. 둘 중 더 적합한 것을 사용하세요!

빠른 요약

  • !! 값을 참/거짓으로 변환합니다
  • 값이 존재하는지 확인하는데 좋습니다
  • 부울 결과가 특별히 필요할 때 사용하세요
  • if 문에서는 일반적으로 필요하지 않습니다

기억하세요: 최고의 코드는 팀이 쉽게 이해할 수 있는 코드입니다. 사용하든지!! 또는 부울(), 일관성을 유지하세요!

위 내용은 이해 !! JavaScript로 - 간단한 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.