強制変換メソッド: 1. ToString()、ToNumber()、または ToBoolean() メソッドを使用します。 2. String()、Number() または Boolean() メソッドを使用します。 3. " " または "- を使用します。 "operator; 4. "if()" や "while()" などのステートメントを使用します。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
1. 型変換ルール
1.ToString
通常のオブジェクトの場合、 toString メソッドを自分で定義すると、Object.prototype.toString() メソッドが呼び出されます。オブジェクトに独自の toString メソッドがある場合、文字列化はそのメソッドを呼び出し、その戻り値を使用します。
2.ToNumber
- 基本型の場合、true は 1 に変換され、false は 0 に変換されます。 unknown は NaN に変換され、null は 0 に変換されます。
- オブジェクト型はまず基本型の値に変換されます。数値以外の基本型の値が返された場合は、基本型の変換規則に従って強制的に数値に変換されます。値を対応するプリミティブ型の値に変換するために、抽象操作 ToPrimitive は、最初に値に valueOf() メソッドがあるかどうかを確認します。基本型の値が存在し、それを返す場合は、この値をキャストに使用します。そうでない場合は、toString() の戻り値 (存在する場合) を使用してキャストを実行します。 valueOf() も toString() も基本型の値を返さない場合、TypeError が生成されます。
let a = { valueOf:function(){ return "42"; } }; let b = { toString:function(){ return "42"; } }; let c = [4,2]; c.toString = function(){ return this.join(""); //"42" }; Number(a); //42 Number(b); //42 Number(c); //42 Number(''); //0 Number([]); //0 Number(["abc"];//NaN
3.ToBoolean
JavaScript の値は、強制的に false にできる値と、強制的に false にできる値に分けることができます。強制できる値 2種類の値をtrueに変換します。
偽値:
- 未定義
- null
- false
- 0、-0、NaN
- ""
真の値: 上記のリストを除き、すべてのオブジェクトは真の値として理解でき、すべてのオブジェクトは真の値です
let a1 = new Boolean( false ); let b1 = new Number( 0 ); let c1 = new String( "" ); let d1 = Boolean(a1 && b1 && c1); //true let a2 = []; let b2 = {}; let c2 = function(){}; let d2 = Boolean(a2 && b2 && c2); //true
2. 強制的な型変換の表示
1. 文字列と数値の間の変換の表示
#文字列と数値変換は、2 つの組み込み関数 String(..) と Number(..) によって行われます。
String(..) と Number(..) に加えて、文字列と数値の間の明示的な変換を実現する他のメソッドがあります。
let a = 42; let b = a.toString(); let c = "3.14"; let d = +c; b; // "42" d; // 3.14
a.toString() は明示的ですが、暗黙的な変換が含まれます。 toString() は 42 のようなプリミティブ値では機能しないため、JavaScript エンジンは 42 のラッパー オブジェクトを自動的に作成し、そのオブジェクトに対して toString() を呼び出します。この明示的な変換には暗黙的な変換が含まれます。
2. ブール値への表示変換
let a = "0"; let b = []; let c = {}; let d = ""; let e = 0; let f = null; let g; Boolean( a ); // true Boolean( b ); // true Boolean( c ); // true Boolean( d ); // false Boolean( e ); // false Boolean( f ); // false Boolean( g ); // false
Boolean(..) は明示的ですが、一般的には使用されません。型をブール値に明示的にキャストする最も一般的な方法は、次のとおりです!!
let a = "0"; let b = []; let c = {}; let d = ""; let e = 0; let f = null; let g; !!a; // true !!b; // true !!c; // true !!d; // false !!e; // false !!f; // false !!g; // false
[推奨学習: javascript 上級チュートリアル ]
3 . 暗黙的なキャスト変換
1. 文字列と数値の間の暗黙的なキャスト変換
( 1) 演算子
は、数値加算と文字列連結の両方に使用できます。
オペランドの 1 つが文字列である場合 (または、ToPrimitive 抽象演算を呼び出して文字列が取得された場合)存在する場合は文字列の連結が実行され、それ以外の場合は数値の加算が実行されます。配列の valueOf() オペレーションは単純なプリミティブ値を取得できないため、代わりに toString() を呼び出します。したがって、以下の例の 2 つの配列は「1,2」と「3,4」になります。それらを連結すると「1,23,4」が返されます。
let a = "42"; let b = "0"; a + b; // "420" let c = 42; let d = 0; c + d; // 42 let x = [1,2]; let y = [3,4]; x + y; // "1,23,4"
文字列変換には演算子を使用できます。数値を空の文字列 "" と比較して文字列に変換できます。
let a = 42; let b = a + ""; b; // "42"
a "" (暗黙的) と前の文字列には微妙な違いがあります(a)(明示的)の間に注意してください。
ToPrimitive 抽象操作ルールに従って、「」は a の valueOf() メソッドを呼び出し、ToString 抽象操作を通じて戻り値を文字列に変換します。 String(a) は ToString() を直接呼び出します。最終的に返されるのは文字列ですが、a が数値ではなくオブジェクトの場合、結果は異なる可能性があります
let a = { valueOf: function() { return 42; }, toString: function() { return 4; } }; a + ""; // "42" String( a ); // "4"
(2) 文字列から数値へのキャストの場合
#-Yes 数値の減算演算子なので、a - 0 は a を数値にキャストします。これら 2 つの演算子は数値にのみ適用されるため、* 1 と /1 を使用することもできますが、そのような使用法はあまり一般的ではありません
let a = [3]; let b = [1]; a - b; // 2
2. 暗黙的な必須型 ブール値に変換
#ブール値の暗黙的なキャスト変換は、以下の場合に発生します。 (1) if(..)文の条件判定式。 (2) for ( .. ; .. ; .. ) 文の条件式(2番目)です。 (3) while (..) および do..while(..) ループの条件式。 (4) ? : の条件判定式。(5) 論理演算子 || (論理 OR) および && (論理 AND) (条件式として) の左側のオペランド。
上記の場合、非ブール値は、前に紹介した ToBoolean 抽象操作ルールに従って、暗黙的にブール値にキャストされます。
プログラミング関連の知識について詳しくは、プログラミング入門をご覧ください。 !
以上がJavaScriptで強制型変換を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

メモ帳++7.3.1
使いやすく無料のコードエディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。
