ホームページ > ウェブフロントエンド > jsチュートリアル > わかりました!! JavaScript で - 簡単なガイド

わかりました!! JavaScript で - 簡単なガイド

Patricia Arquette
リリース: 2024-11-19 08:10:02
オリジナル
599 人が閲覧しました

Understanding !! in JavaScript - Simple Guide

見たことある!! JavaScript コードで何が起こっているのか疑問に思いましたか?簡単に説明してみましょう。

どういうことですか!!する?

ダブルバン (!!) は、任意の値をブール値 (true または false) に変換する簡単な方法です。とても簡単です!

これは、JavaScript に「この値は存在しますか? それは意味がありますか?」と尋ねることと同じだと考えてください。

  • 「はい」の場合、その通りです
  • 「いいえ」の場合は false になります

実際に見てみる

いくつかの簡単な例を見てみましょう:

// 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
  • "" (空の文字列)
  • ヌル
  • 未定義
  • ナン

それ以外はすべて真実になります!

プロのヒント

1. If ステートメントのショートカット

if ステートメントでは、JavaScript は値をブール値に自動的に変換します。そのため、次のようになります。

if (!!username) {
    // do something
}
ログイン後にコピー

次と同じです:

if (username) {
    // do something
}
ログイン後にコピー

2. 代わりに Boolean() を使用する

一部の開発者は、何が起こっているかがより明らかであるため、Boolean() の使用を好みます。

Boolean("hello")   // true
Boolean("")        // false
!!("hello")        // true
!!("")            // false
ログイン後にコピー

どちらもまったく同じように機能します。わかりやすい方を使用してください。

簡単な要約

  • !!値を true/false に変換します
  • 値が存在するかどうかを確認するのに最適です
  • 特にブール値の結果が必要な場合に使用します
  • if ステートメントでは、通常は必要ありません

覚えておいてください: 最良のコードは、チームが簡単に理解できるコードです。使うかどうか!!または Boolean()、一貫性を保ってください!

以上がわかりました!! JavaScript で - 簡単なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート