ホームページ ウェブフロントエンド フロントエンドQ&A JavaScriptでデータ型を変換する方法

JavaScriptでデータ型を変換する方法

Sep 16, 2021 pm 06:04 PM
javascript データ型変換

データ型を変換する Javascript メソッド: 1. コンピューティングのニーズを満たすために、コンピューティング環境に従って値のデータ型を自動的に変換します; 2. toString()、String( などの JavaScript 組み込み関数を使用します) )、parseInt() を使用してデータ型を強制的に変換します。

JavaScriptでデータ型を変換する方法

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript は動的言語です。いわゆる動的言語は、言語内のすべてが不確実であることを一時的に意味すると理解できます。たとえば、変数が現時点では整数である場合、次の瞬間には文字列になる可能性があります。変数のデータ型は未定義ですが、さまざまな演算子にはデータ型の要件があります。演算子の型が予期された型と一致しないことが判明した場合、演算子は型を 自動的に変換します。

簡単に言えば、JavaScript はコンピューティングのニーズを満たすために、コンピューティング環境に応じて値の型を自動的に変換できます。

例:

プラス演算子を使用して値を文字列に変換します

//把数字转换为字符串
var n = 123;
n = n + "";
console.log(typeof n); //返回类型为 string
ログイン後にコピー

例: 乗算演算子を使用して文字列を文字列に変換します数値

var n = "123";
n = n * 1;
console.log(typeof n); //返回类型为 number
ログイン後にコピー

しかし、多くの場合、開発者は操作プロセスを制御するために手動でデータ型を変換する (

強制型変換 ) 必要があります。

#1. 他のデータ型を String に変換する

方法 1: toString() メソッド

call変換されたデータ型の toString() メソッドは、元の変数には影響しません。変換結果が返されます。ただし、注意: null と unknown の 2 つの値には toString がありません。それらのメソッドが呼び出されると、エラーが発生します。報告されます。

var a = 123
a.toString()//"123"
var b = null;
b.toString()//"报错"
var c = undefined
c.toString()//"报错"
ログイン後にコピー

Number 型の toString() メソッドの基数モードを使用すると、さまざまな基数を使用して数値を出力できます。たとえば、2 進数の基数は 2、8 進数の基数は 8、16 進数の基数は 16 です。

var iNum = 10;
alert(iNum.toString(2));        //输出 "1010"
alert(iNum.toString(8));        //输出 "12"
alert(iNum.toString(16));       //输出 "A"
ログイン後にコピー

方法 2: String() 関数

強制型変換に String() 関数を使用する場合、実際には Number と Boolean に対して toString() メソッドが呼び出されます。

ただし、null および unknown の場合、toString() メソッドは呼び出されません。null は "null" に、未定義は直接 "未定義" に変換されます

var a = null
String(a)//"null"
var b = undefined
String(b)//"undefined"
ログイン後にコピー

String メソッドのパラメータがオブジェクトの場合の場合は、Type 文字列を返します。配列の場合は、配列の文字列形式を返します。

String({a: 1}) // "[object Object]"
String([1, 2, 3]) // "1,2,3"
ログイン後にコピー

2. 他のデータ型を Number に変換する

方法 1: Number() 関数を使用する

以下では 2 つの状況に分けて説明します。 、 1 つはパラメータがプリミティブ型の値であること、もう 1 つはパラメータがオブジェクトであることです

(1) プリミティブ型の値

①文字列を数値に変換します

    純粋な数値文字列の場合は、数値に直接変換します
  • ##文字列に数値以外の内容が含まれる場合は、NaN
  • に変換します
  • 文字列が空の文字列またはスペースでいっぱいの文字列の場合、0
  • Number('324') // 324
    Number('324abc') // NaN
    Number('') // 0
    ログイン後にコピー

    ②ブール値を数値に変換します。true は次のように変換されます。 1、false 0
  • Number(true) // 1
    Number(false) // 0
    ログイン後にコピー
に変換します。 ③未定義から数値に変換します。 NaN

Number(undefined) // NaN
ログイン後にコピー

に変換します。 ④null を数値に変換します。 0

Number(null) // 0
ログイン後にコピー

に変換します。 ⑤Number() は数値を受け入れます。負の 16 進数と 0 から始まる 8 進数を認識できます。戻り値は常に 10 進数です。

Number(3.15);    //3.15
Number(023);     //19
Number(0x12);    //18
Number(-0x12);   //-18
ログイン後にコピー

(2) オブジェクト

簡単なルールは次のとおりです。 Number メソッドのパラメータが Object である場合、単一の数値を含む配列でない限り、NaN が返されます。

Number({a: 1}) // NaN
Number([1, 2, 3]) // NaN
Number([5]) // 5
ログイン後にコピー

メソッド 2: parseInt() & parseFloat()

このメソッドは、文字列を処理するために特別に使用されます。parseInt() は文字列を整数に変換し、文字列を整数に変換できます。 integer. 有効な整数の内容が取り出され、数値に変換されます。 parseFloat() は文字列を浮動小数点数に変換します。 parseFloat() は、有効な 10 進数を取得できる点を除いて、parseInt() に似ています。

console.log(parseInt('.21'));        //NaN
console.log(parseInt("10.3"));        //10
console.log(parseFloat('.21'));      //0.21
console.log(parseFloat('.d1'));       //NaN
console.log(parseFloat("10.11.33"));  //10.11
console.log(parseFloat("4.3years"));  //4.3
console.log(parseFloat("He40.3"));    //NaN
ログイン後にコピー

parseInt() は、2 番目のパラメータがない場合、デフォルトで 10 進数に変換します。2 番目のパラメータがある場合、2 番目のパラメータを基数として使用して値を変換します。基数が間違っている場合は、NaN を返します。

console.log(parseInt("13"));          //13
console.log(parseInt("11",2));        //3
console.log(parseInt("17",8));        //15
console.log(parseInt("1f",16));       //31
ログイン後にコピー

この 2 つの違い: Number 関数は文字列を数値に変換し、parseInt 関数よりもはるかに厳密です。基本的に、1 文字が数値に変換できない限り、文字列全体が NaN に変換されます。

parseInt('42 cats') // 42
Number('42 cats') // NaN
ログイン後にコピー

上記のコードでは、parseInt は文字を 1 つずつ解析し、Number 関数は文字列全体の型を変換します。

さらに、空の文字列の処理も異なります

Number("   ");     //0   
parseInt("   ");   //NaN
ログイン後にコピー


3. 他のデータ型をブール値に変換します

它的转换规则相对简单:只有空字符串("")、null、undefined、+0、-0 和 NaN 转为布尔型是 false,其他的都是 true,空数组、空对象转换为布尔类型也是 true,甚至连false对应的布尔对象new Boolean(false)也是true

Boolean(undefined) // false
Boolean(null) // false
Boolean(0) // false
Boolean(NaN) // false
Boolean('') // false
ログイン後にコピー
Boolean({}) // true
Boolean([]) // true
Boolean(new Boolean(false)) // true
ログイン後にコピー

【推荐学习:javascript高级教程

以上が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テクノロジー

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 12:09 PM

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と 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 で HTTP ステータス コードを簡単に取得する方法 JavaScript で HTTP ステータス コードを簡単に取得する方法 Jan 05, 2024 pm 01:37 PM

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが

See all articles