ホームページ ウェブフロントエンド jsチュートリアル JavaScriptのデータ型学習メモ_JavaScriptスキル

JavaScriptのデータ型学習メモ_JavaScriptスキル

May 16, 2016 pm 03:18 PM
javascript データの種類

ECMAscript には、基本データ型とも呼ばれる 5 つの単純なデータ型があります: 未定義、Null、ブール、数値、文字列です。複雑なデータ型であるオブジェクトもあります。

未定義型

変数が var を使用して宣言されているが初期化されていない場合、変数の値は未定義です。例:

var number;
document.write(number); //undefined
ログイン後にコピー

変数が宣言されていない場合、以下のエラーが発生します。例:

document.write(str); //错误
ログイン後にコピー

ただし、typeof で実行すると、宣言の有無に関係なく、未定義の値が返されます。例:

var num;
document.write(typeof num); //undefined
document.write(typeof str); //undefined
ログイン後にコピー

Null 型

typeof を使用して null を検出すると、「object」が返されます。例:

var num = null;
document.write(typeof num); //object
ログイン後にコピー

実際、未定義の値は null 値から派生するため、それらが等しい場合は true を返します。例:

alert(null == undefined); //true
ログイン後にコピー

ここで注意すべき点は、オブジェクトを保存することを目的とした変数が実際にオブジェクトを保存していない限り、その変数は null 値の保存を明示的に許可する必要があるということです。これは、null と未定義を区別するのに役立ちます。例:

var num1 = null;
var num2;
document.write(typeof num1 + " " + typeof num2); //object undefined
ログイン後にコピー

ブール型

値を対応するブール値に変換するには、変換関数 Boolean() を使用できます。例:

var str = "helloworld";
document.write(Boolean(str)); //true
ログイン後にコピー

書籍『JavaScript Advanced Programming Design』の第 3.4.4 章には、さまざまなデータ型とそれに対応する変換規則の表が記載されています。おそらく次のタイプがあります:

  • データ型が String の場合、空でない文字列はすべて true に変換されます。
  • データ型が Number の場合、false に変換される 0 と NaN を除き、その他はすべて true に変換されます。
  • データ型が Object の場合 (null を除く)、
  • に変換されます。
  • データ型が Unknown の場合、n/a は true に変換され、unknown は false に変換されます。
  • ここで、if ステートメントでは、応答を条件として自動的に実行するブール変換がよく使用されることに注意してください。例:
数値型

整数は 10 進数で表現されるだけでなく、8 進数または 16 進数のリテラル値でも表現できます。8 進数のリテラル値の最初のビットは 0 で、その後に一連の 8 進数 (0 ~ 7) が続きます。例:
var str = "helloworld";
if (str){
  document.write("hellothere");
} //hellothere
ログイン後にコピー

16 進リテラル値の最初の 2 桁は 0x であり、その後に任意の 16 進数字 (0 ~ 9 および A ~ F) が続く必要があります。例:

var num1 = 070; //八进制的56
var num2 = 032; //八进制的32
var num3 = 079; //错误的八进制(>7)
var num4 = 09; //错误的八进制(>7)
ログイン後にコピー
浮動小数点値

ここで注意すべき重要な点は、特定の浮動小数点値を決して比較しないでください。例:
var num1 = 0xA; //十六进制的10
var num1 = 0xa; //也是十六进制的10(字母不区分大小写)
ログイン後にコピー

値の範囲

ECMAScript が表現できる最大値と最小値は Number.MAX_VALUE と Number.MIN_VALUE に格納されます。数値が有限かどうかを判断するには、isFinite() 関数を使用します。例:
var a = 0.1;
var b = 0.2;
if (a + b == 0.3){
  document.write("you are right")
} //因为0.1 加上0.2 实际上等于0.30000000000000004
ログイン後にコピー

ナン

0 を 0 で割ると NaN が返され、正の数を 0 で割ると無限大が返され、複素数は -Infinity を返します。第 2 に、NaN は、それ自体を含め、どの数値とも等しくありません。さらに、関数 isNaN() は、このパラメータが「数値ではない」かどうかを判断するのに役立ちます。例:
document.write(isFinite(Number.MAX_VALUE + Number.MAX_VALUE)); //false
ログイン後にコピー

数値変換

数値以外の値を数値に変換できる関数は、Number()、parseInt()、parseFloat() の 3 つです。
document.write(isNaN("a")); //true;
document.write(isNaN("324")); //false;
document.write(isNaN(true)); //false;
document.write(isNaN(false)); //false;
document.write(isNaN(NaN)); //true;
ログイン後にコピー
Number() の変換規則は次のとおりです。

ブール値の場合、true と false は 1 と 0 に変換されます。

数値の場合は変更されません。

null 値の場合は 0 に変換されます。

未定義の場合は NaN を返します。

文字列の場合は、次のルールに従います:





数値のみの場合は、10 進数値に変換します。

  • 浮動小数点形式の場合は、対応する浮動小数点値に変換します。先頭のゼロも無視されます。
  • 16進数の場合は10進数に変換されます。
  • 文字列が空の場合は 0 に変換されます。
  • その他の場合は NaN に変換されます。
  • 詳細については、以下の例を参照してください:

    parseInt()的转换规则如下:

    • 如果第一个字符不是数字字符或者符号,parseInt()会返回NaN。
    • 用parseInt()转换空字符串会返回NaN。
    • 如果第一个字符是数字字符,它会继续解析第二个字符,直到遇到了一个非数字字符.

    下面是具体的例子:

    document.write(parseInt("fds")); //NaN
    document.write(parseInt("")); //NaN
    document.write(parseInt("1111112abc")); //1111112
    document.write(parseInt("-1111112abc")); //-1111112
    document.write(parseInt("+1111112abc")); //-1111112
    document.write(parseInt("0xa")); //10
    document.write(parseInt("0022.00009")); //22
    document.write(parseInt("070")); //ECMAScript 3认为是56(八进制), ECMAScript 5认为是70(十进制)
    
    ログイン後にコピー

    另外需要注意的是,ECMAScript 5已经不具备解析八进制值的能力了所以为了消除这个问题,可以为这个函数提供第二个参数:转换时使用的基数(多少进制),具体如下:

    document.write(parseInt("070",10)); //70
    document.write(parseInt("070",8)); //56
    document.write(parseInt("070",16)); //112
    
    ログイン後にコピー

    多数情况下,最好默认设置成10进制。

    parseFloat()的转换规则如下:

    • 与parseInt()类似,不同的是字符串第一个小数点是有效的,而从第二个小数点开始包括第二个小数点是无效的。
    • 他不能解析十六进制数值!!!
    • 他只能解析十进制数值!!!
    • 他没有用第二个基数来指定进制的用法。

    下面是具体的例子:

    document.write(parseFloat("421")); //421
    document.write(parseFloat("0421.32.1")); //421.32
    document.write(parseFloat("0xaafd")); //0
    document.write(parseFloat("070")); //70
    document.write(parseFloat("070abc")); //70
    document.write(parseFloat("")); //NaN
    document.write(parseFloat("abc")); //NaN
    
    ログイン後にコピー

    String 类型

    要把一个值转换成字符串有两种方式。第一种是使用几乎每个值都有的toString()方法。如下:

    document.write((533).toString(10)); //"533"
    document.write((0xa).toString(10)); //"10"
    document.write((0xa).toString(2)); //"1010"
    document.write((true).toString(10)); //"true"
    document.write((false).toString(10)); //"false"
    
    ログイン後にコピー

    另外需要注意的是,null 和 undefined 不能转换。

    document.write((null).toString(10)); //
    document.write((undefined).toString(10)); //
    
    ログイン後にコピー

    如果不知道需要转换的数值是否是null 或者undefined 则应该使用转型函数String(),如果是null 会返回"null"如果是undefined 会返回"undefined"。如下:

    document.write(String(null)); //"null"
    document.write(String(undefined)); //"undefined"
    ログイン後にコピー

    另外在下一篇文章中再详细介绍Object 类型。

    以上就是关于JavaScript数据类型的简单介绍,希望对大家学习JavaScript数据类型有所帮助。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MySQL データベースの性別フィールドにはどのデータ型を使用する必要がありますか? MySQL データベースの性別フィールドにはどのデータ型を使用する必要がありますか? Mar 14, 2024 pm 01:21 PM

MySQL データベースでは、通常、性別フィールドは ENUM タイプを使用して保存できます。 ENUM は、定義済みの値のセットから 1 つをフィ​​ールドの値として選択できる列挙型です。 ENUM は、性別などの固定的で限定されたオプションを表す場合に適しています。具体的なコード例を見てみましょう。性別を含むユーザー情報を含む「users」というテーブルがあるとします。ここで性別のフィールドを作成したいと思います。テーブル構造は次のように設計できます: CRE

MySQL の性別フィールドに最適なデータ型は何ですか? MySQL の性別フィールドに最適なデータ型は何ですか? Mar 15, 2024 am 10:24 AM

MySQL では、性別フィールドに最も適したデータ型は ENUM 列挙型です。 ENUM 列挙型は、可能な値のセットを定義できるデータ型です。通常、性別には男性と女性の 2 つの値しかないため、性別フィールドは ENUM 型の使用に適しています。次に、具体的なコード例を使用して、MySQL で性別フィールドを作成し、ENUM 列挙型を使用して性別情報を保存する方法を示します。手順は次のとおりです。 まず、MySQL に users という名前のテーブルを作成します。

Python 構文のマインド マップ: コード構造の深い理解 Python 構文のマインド マップ: コード構造の深い理解 Feb 21, 2024 am 09:00 AM

Pythonはそのシンプルで読みやすい構文から幅広い分野で広く使われています。プログラミングの効率を向上させ、コードがどのように機能するかを深く理解するためには、Python 構文の基本構造をマスターすることが重要です。この目的を達成するために、この記事では、Python 構文のさまざまな側面を詳しく説明した包括的なマインド マップを提供します。変数とデータ型 変数は、Python でデータを保存するために使用されるコンテナです。マインド マップには、整数、浮動小数点数、文字列、ブール値、リストなどの一般的な Python データ型が表示されます。各データ型には独自の特性と操作方法があります。演算子 演算子は、データ型に対してさまざまな操作を実行するために使用されます。マインド マップは、算術演算子、比率など、Python のさまざまな演算子の種類をカバーしています。

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

MySQL の性別フィールドに最適なデータ型の選択は何ですか? MySQL の性別フィールドに最適なデータ型の選択は何ですか? Mar 14, 2024 pm 01:24 PM

データベース テーブルを設計する場合、適切なデータ型を選択することは、パフォーマンスの最適化とデータ ストレージの効率にとって非常に重要です。 MySQL データベースでは、性別フィールドには通常、男性または女性の 2 つの値しかないため、性別フィールドを保存するデータ型にいわゆる最良の選択はありません。ただし、効率とスペースを節約するために、性別フィールドを保存するのに適切なデータ型を選択できます。 MySQL では、性別フィールドを格納するために最も一般的に使用されるデータ型は列挙型です。列挙型は、フィールドの値を限られたセットに制限できるデータ型です。

MySQLでのBoolean型の使い方を詳しく解説 MySQLでのBoolean型の使い方を詳しく解説 Mar 15, 2024 am 11:45 AM

MySQL でのブール型の使用方法の詳細な説明 MySQL は、一般的に使用されるリレーショナル データベース管理システムです。実際のアプリケーションでは、論理的な true と false の値を表すためにブール型を使用する必要があることがよくあります。 MySQL には Boolean 型の表現方法として TINYINT(1) と BOOL の 2 つがあります。この記事では、ブール型の定義、代入、クエリ、変更など、MySQL でのブール型の使用方法を詳細に紹介し、具体的なコード例を示して説明します。 1. ブール型は MySQL で定義されており、次のようにすることができます。

C言語の基本構文とデータ型の紹介 C言語の基本構文とデータ型の紹介 Mar 18, 2024 pm 04:03 PM

C 言語は、効率的で柔軟かつ強力な、広く使用されているコンピューター プログラミング言語です。 C 言語でのプログラミングに習熟するには、まずその基本的な構文とデータ型を理解する必要があります。この記事では、C言語の基本的な構文とデータ型を例とともに紹介します。 1. 基本構文 1.1 コメント C 言語では、コメントを使用してコードを説明し、理解と保守を容易にすることができます。コメントは、単一行コメントと複数行コメントに分類できます。 //これは 1 行のコメントです/*これは複数行のコメントです*/1.2 キーワード C 言語

Python 入門から熟練度まで: 基礎ゼロからプロジェクト開発まで Python 入門から熟練度まで: 基礎ゼロからプロジェクト開発まで Feb 20, 2024 am 11:42 AM

1. Python の概要 Python は、1991 年に Guido van Rossum によって作成された、習得が簡単で強力な汎用プログラミング言語です。 Python の設計哲学はコードの可読性を重視しており、さまざまなアプリケーションを迅速かつ効率的に構築できる豊富なライブラリとツールを開発者に提供します。 2. Python の基本構文 Python の基本構文は、変数、データ型、演算子、制御フロー ステートメントなどを含む他のプログラミング言語と似ています。変数はデータを格納するために使用されます。データ型は、変数が格納できるデータ型を定義します。演算子は、データに対してさまざまな操作を実行するために使用されます。制御フロー ステートメントは、プログラムの実行フローを制御するために使用されます。 3.Python の Python データ型

See all articles