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

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

JavaScriptで文字列をブール値(true / false)に変換したい場面はよくあります。最も簡単で推奨される方法は、Boolean()関数を使うことです。この記事では、基本的な変換方法から、実務で役立つ別のテクニック、そして知っておくべき注意点まで、コード例とともにわかりやすく解説します。

Boolean()関数を使った変換

Boolean()関数に文字列を渡すと、その真偽値が返されます。空文字列以外の文字列はすべてtrueに、空文字列はfalseに変換されます。

サンプルコード

<!DOCTYPE html>
<html>
<body>
  <p>文字列をブール値に変換する例</p>
  <script>
    var myString = "Amit";
    document.write("Boolean : " + Boolean(myString)); // 結果: true
  </script>
</body>
</html>

このコードを実行すると、「Amit」という空ではない文字列がtrueに変換され、画面に「Boolean : true」と表示されます。

NOT演算子(!!)を使った変換

もうひとつの定番テクニックが、論理NOT演算子!を2回重ねる「!!」という書き方です。1回目の!で反転したブール値を、2回目の!でもう一度反転することで、元の値の真偽を表すブール値が得られます。

var myString = "Amit";
console.log(!!myString); // true

var emptyString = "";
console.log(!!emptyString); // false

Boolean()関数と!!はどちらも同じ結果を返しますが、Boolean()の方が意図が明確で読みやすいため、初心者にはこちらをおすすめします。

注意点:「false」という文字列はtrueになる

JavaScriptでは、空文字列("")だけがfalseに変換され、それ以外の文字列はすべてtrueになります。つまり、文字列"false""0"trueに変換されるため注意が必要です。

console.log(Boolean(""));      // false(空文字列のみfalse)
console.log(Boolean("false")); // true(文字列なのでtrue)
console.log(Boolean("0"));     // true(文字列なのでtrue)
console.log(Boolean("hello")); // true

もし"true" / "false"という文字列を厳密にブール値へ変換したい場合は、以下のように比較を行う方法があります。

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

まとめ

  • 文字列をブール値に変換するにはBoolean()関数を使うのが基本。
  • !!(NOT演算子2回)でも同じ結果が得られる。
  • 空文字列はfalse、それ以外の文字列はすべてtrueになる。
  • "false"という文字列もtrueになるため、厳密な判定が必要な場合は=== "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