ホームページ ウェブフロントエンド jsチュートリアル JavaScriptのデータ型とその変換の詳しい説明

JavaScriptのデータ型とその変換の詳しい説明

Oct 29, 2018 pm 02:19 PM
javascript

この記事では、JavaScript のデータ型とその変換について詳しく説明します。必要な方は参考にしてください。

1. はじめに

JavaScript 言語のすべての値は、特定のデータ型に属します。 JavaScript には 7 つのデータ型があります:

  1. 数値: 整数と小数 (1 や 3.14 など)。

  2. 文字列 (文字列): テキスト (Hello World など)。

  3. ブール値: 信頼性を表す 2 つの特別な値、つまり true (真) と false (偽)。

  4. 未定義: 「未定義」または存在しないことを意味します。

  5. null: null 値、つまりここの値が空であることを示します。

  6. オブジェクト: さまざまな値のコレクション。

  7. Symbol

Symbol は、ES6 で新しく追加された基本データ型です。この記事では、最初の 6 つの型のみを紹介します。

2. データ型の詳細説明

1. 数値 (数値):

1.1 整数と浮動小数点数

JavaScript 内部。すべての数値は、整数も含めて 64 ビット浮動小数点数として保存されます。

1 === 1.0 // true
ログイン後にコピー

1.2 精度

国際標準 IEEE 754 では、JavaScript 浮動小数点数の 64 個の 2 進数が左端から始まり、最初のデジタル符号ビットによって数値の符号が決まります ( 0は正の数、1 は負の数)、2 ~ 12 桁の指数部が値のサイズを決定し、13 ~ 64 の小数部が値の精度を決定します。
1.3 数値の基数

JavaScript は、整数の 4 つの基本表現方法 (10 進数、16 進数、8 進数、および 2 進数) を提供します。

  • 10 進数: 先頭に 0 のない数値。

  • 8 進数: 接頭辞 0o または 0O が付いた値。

  • 16 進数: 接頭辞 0x または 0X が付いた値。

  • バイナリ: プレフィックス 0b または 0B が付いた値。

1.4 NaN

NaN は「数値ではない」を意味します。これは主に、文字列を数値に解析する際に次のようなエラーが発生した場合に発生します。

618 - 'x' // NaN
ログイン後にコピー
NaN不等于任何值,包括它本身。:
ログイン後にコピー
NaN === NaN // false
ログイン後にコピー
2 . 文字列:

は '' または "" で囲まれます。内容が含まれていない場合は、長さ 0 の空の文字列になります。スペースが含まれているものはスペース文字列と呼ばれ、長さは 1 であり、この 2 つは異なります。

2.1 複数行の文字列

文字列が複数行に分割されている場合は、各行の最後にバックスラッシュを使用できます。そうしないとエラーが報告されます。バックスラッシュを使用するだけでなく、連結演算子 ( ) を使用して複数の単一行文字列を連結することもできます。これら 2 つの方法の結果は一貫しています。連結演算子 ( ) を使用することをお勧めします。

var longString = 'Long \
long \
long \
string';

longString
// "Long long long string"
ログイン後にコピー
var longString = 'Long '
  + 'long '
  + 'long '
  + 'string';

longString
// "Long long long string"
ログイン後にコピー

ES6 では、複数行の文字列を記述するためにバックティック (`) が追加され、この複数行の文字列の長さにはキャリッジ リターンの長さが含まれます。

2.2 エスケープ

バックスラッシュ () は文字列内で特別な意味を持ち、いくつかの特殊文字を表すために使用されるため、エスケープ文字とも呼ばれます。バックスラッシュでエスケープする必要がある特殊文字は、次のとおりです。

  • 0: null (u0000)

  • n: 改行文字 (u000A)

  • #r: Enter キー (u000D)

  • t: タブ文字 (u0009)

  • ' : シングルクォーテーション (u0027)

  • ": ダブルクォーテーション (u0022)

    \: バックスラッシュ (u005C)

2.3 長さ属性

長さ属性は文字列自体によって決定され、ブール値 (

var s = 'mamamoo';
s.length // 7
s.length = 5;
s.length // 7
ログイン後にコピー

3.ブール値):
##ブール値には「true」と「false」の 2 つの値しかありません。「true」はキーワード true で表され、「false」はキーワードで表されます。 JavaScript が期待するキーワード false の場合、その位置にある既存の値は、未定義、null、false、0、を除く 6 つの値に自動的に変換されます。 NaN、"" または '' (空の文字列) は false に変換され、その他の値は未定義および null とみなされます:

#4。

##null と unknown はどちらも「なし」を意味します。この 2 つの違いは次のとおりです。

##null は「空」を表すオブジェクトであり、変換すると 0 になります。数値に変換します。unknown は「ここに定義がありません」を表すプリミティブです。数値に変換すると、値は NaN になります。変数に値がない場合は、unknown が返されます。

オブジェクトはあるが値を割り当てたくない場合は、オブジェクト以外の値を割り当てたくない場合は null を使用することをお勧めします。値を指定する場合は、未定義
  • ##5 を使用することをお勧めします。 オブジェクト:
  • 5.1 生成方法
  • オブジェクトは次のとおりです。単に「キーと値のペア」のセットであり、順序付けされていない複合データのコレクションです。

    生成方法は、キーと値のペアを括弧で囲み、それを変数に割り当てることです。ペアは「:」の前にカンマ、「:」の後にキー値で区切られます。

    对象的所有键名都是字符串,要加引号,不加也会自动转为字符串。如果键名不符合标识名的条件(比如第一个字符为数字,或者含有空格或运算符),且也不是数字,则必须加上引号,否则会报错。而键值是什么类型就用该类型的格式。

    5.3 属性

    对象的每一个键名又称为“属性”(property),它的“键值”可以是任何数据类型。

    属性的读取

    读取对象的属性,有两种方法,一种是使用点运算符,还有一种是使用方括号运算符。

    var obj = {
      p: 'Hello World'
    };
    
    obj.p // "Hello World"
    obj['p'] // "Hello World",[]内''一定要加
    ログイン後にコピー

    属性的删除delete(无value无key)

    var obj = { p: 1 };
    Object.keys(obj) // ["p"]
    
    delete obj.p // true
    obj.p // undefined
    Object.keys(obj) // []
    ログイン後にコピー

    属性的查看Object.keys

    var obj = {
      key1: 1,
      key2: 2
    };
    
    Object.keys(obj);
    // ['key1', 'key2']
    ログイン後にコピー

    属性是否存在:in

    in运算符用于检查对象是否包含某个属性(注意,检查的是键名,不是键值),如果包含就返回true,否则返回false。

    属性的遍历:for...in 循环

    var obj = {a: 1, b: 2, c: 3};
    
    for (var i in obj) {
      console.log('键名:', i);
      console.log('键值:', obj[i]);
    }
    // 键名: a
    // 键值: 1
    // 键名: b
    // 键值: 2
    // 键名: c
    // 键值: 3
    ログイン後にコピー

    三、如何知道变量类型?

    使用type of可得变量的数据类型,如:

    var t = 619;
    type of t;//"number"
    ログイン後にコピー

    特别注意的是:

    • 当数据类型为null时,用type of打出的数据类型却是'object'。

    • 当定义了一个函数时,用type of打出的数据类型却是'function'。

    四、数据类型的转换

    4.1 转为string

    • 使用toString()

    var t = 619;
    t.toString();//"619"
    ログイン後にコピー

    null没有toString这个API,不能使用toString,会报错

    var n = null;
    n.toString;
    //Uncaught TypeError: Cannot read property 'toString' of null
    ログイン後にコピー

    undefined也会报错

    var n = undefined;
    n.toString();
    //Uncaught TypeError: Cannot read property 'toString' of undefined
    ログイン後にコピー

    object使用toString会得到"[object Object]"。

    var object = {name:"po"};
    object.toString()
    //"[object Object]"
    ログイン後にコピー
    • 通过与空字符串相加(+"")也能转化为字符串类型,且null、undefined也适用。

    • 使用window.String()

    window.String(null)//"null"
    ログイン後にコピー

    为什么1 + '1' = '11'?
    这是因为当两个不同数据类型相加时,会优先选择转化为字符串,所以1 + '1'相当于1.toString() + '1',于是结果为两个字符串1相加,即字符串11。

    4.2 转为布尔

    使用Boolean()

    Boolean(0)//false
    Boolean('')//false
    Boolean(' ')//true
    ログイン後にコピー

    使用!!

    !! ''//false
    !! ' '//true
    ログイン後にコピー

    五个falsy值:0、NaN、空字符串、null、undefined

    4.3 转为Number

    使用Number()

    Number('1')//1

    使用parseInt()

    //第二位参数要写,是表示进制

    使用parseFloat()

    parseFloat('1.23')//1.23

    使用 -0

    '1'-0//1

    使用 +

    + null//0

以上がJavaScriptのデータ型とその変換の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 Dec 17, 2023 pm 12:09 PM

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 Dec 17, 2023 am 09:39 AM

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 Dec 17, 2023 pm 05:13 PM

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

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

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

JavaScriptでinsertBeforeを使用する方法 JavaScriptでinsertBeforeを使用する方法 Nov 24, 2023 am 11:56 AM

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

JavaScript と WebSocket: 効率的なリアルタイム画像処理システムの構築 JavaScript と WebSocket: 効率的なリアルタイム画像処理システムの構築 Dec 17, 2023 am 08:41 AM

JavaScript は Web 開発で広く使用されているプログラミング言語であり、WebSocket はリアルタイム通信に使用されるネットワーク プロトコルです。 2 つの強力な機能を組み合わせることで、効率的なリアルタイム画像処理システムを構築できます。この記事では、JavaScript と WebSocket を使用してこのシステムを実装する方法と、具体的なコード例を紹介します。まず、リアルタイム画像処理システムの要件と目標を明確にする必要があります。リアルタイムの画像データを収集できるカメラ デバイスがあるとします。

See all articles