JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで文字列をブール値(Boolean)に変換する方法

はい、JavaScriptでは文字列をブール値(Boolean)に変換することが可能です。用途に応じていくつかの方法があるため、それぞれの特徴を理解して使い分けることが重要です。

方法1:比較演算子を使う

最もシンプルで安全なのは、文字列が "true" と一致するかどうかを厳密等価演算子(===)で判定する方法です。

const str = "true";
const result = (str === "true");
console.log(result); // true

方法2:Boolean()関数や!!演算子を使う

Boolean()関数や、否定演算子を2回重ねた「!!」を使うと、文字列の真偽性に基づいて変換できます。ただし、JavaScriptでは空文字列("")以外のすべての文字列が true として扱われるため注意が必要です。

console.log(Boolean("hello")); // true
console.log(Boolean("false")); // true(文字列が存在するためtrueになる)
console.log(Boolean(""));      // false(空文字列のみfalse)
console.log(!!"text");         // true

方法3:JSON.parse()を使う

文字列が正確に "true" または "false" であることが分かっている場合は、JSON.parse() を使うと確実にブール値へ変換できます。

console.log(JSON.parse("true"));  // true
console.log(JSON.parse("false")); // false

実行例

以下のコードを実行すると、文字列からブール値への変換結果を確認できます。

<html>
   <head>
      <title>JavaScript Boolean</title>
   </head>
   <body>
      <script>
         var str = "true";

         // 比較演算子による変換
         var result1 = (str === 'true');
         document.write(result1); // true

         document.write("<br>");

         // JSON.parseによる変換
         var result2 = JSON.parse(str);
         document.write(result2); // true
      </script>
   </body>
</html>

まとめ

文字列をブール値に変換する際は、目的に応じて方法を選びましょう。「true / false という文字列を変換したい」場合は比較演算子やJSON.parse()が適しており、「値の有無で真偽を判定したい」場合はBoolean()や!!が便利です。特にBoolean("false")が true になる点は初心者が陥りやすい落とし穴なので、覚えておくとよいでしょう。

  1. JavaScriptで文字列を真偽値(Boolean)に変換する方法

    JavaScriptでは、文字列が「true」というリテラルと一致するかどうかを比較演算子で判定することで、文字列を実質的に真偽値(Boolean)として扱うことができます。ここでは、==(緩い等価比較)と===(厳密等価比較)の2つの方法を使った具体例を紹介します。 サンプルコード <!DOCTYPE html> <html> <head> <style>     body {         font-family: &

  2. 文字列をJavaScriptオブジェクトに変換する方法【JSON.parse()の使い方】

    JavaScriptでJSON形式の文字列をオブジェクトに変換するには、JSON.parse()メソッドを使用します。このメソッドは、引数に渡された文字列を解析(パース)し、対応するJavaScriptオブジェクトを返します。 サンプルコード <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Docum