検索
ホームページウェブフロントエンドjsチュートリアルjsの型変換と参照型(Boolean_Number_String)_javascriptスキルを詳しく解説

1. 型変換

1. 文字列に変換します
ECMAScript のブール値、数値、および文字列のプリミティブ値の興味深い点は、それらが疑似オブジェクトであることです。つまり、実際にはプロパティとメソッド 。
例:

コードをコピー コードは次のとおりです:

var sColor = "blue";
alert(sColor.length);//出力 "4"

つまり、3 つの主要なプリミティブ値のブール値、数値、文字列には toString() メソッドがあります。 。 ECMAScript で定義されたすべてのオブジェクトには、擬似オブジェクトであっても実際のオブジェクトであっても、toString() メソッドがあります。

ブール値の toString() メソッドは「true」または「false」を出力するだけで、結果は変数の値によって決まります:

コードをコピー コードは次のとおりです:

var bFound = false;
alert(bFound.toString());//「false」を出力します

数値型 toString() メソッドは特別で、デフォルト モードとベース モードの 2 つのモードがあります。デフォルト モードを使用すると、toString() メソッドは対応する文字列のみを使用して数値を出力します。それは整数、浮動小数点数、または科学的表記法です)。
コードをコピー コードは次のとおりです:

var iNum1 = 10;
var fNum2 = 10.0 ;
alert(iNum1.toString()); //「10」を出力
alert(fNum2.toString()) //「10」を出力

数値型 toString() メソッドの基底モードでは、さまざまな基数 (基数) の数値を出力できます。
コードをコピー コードは次のとおりです:

var iNum = 10;
alert (iNum.toString(2)); //「1010」を出力します
alert(8) //「12」を出力します
alert(16); "A"

2. 数値への変換
ECMAScript は、数値以外のプリミティブ値を数値に変換する 2 つのメソッド、つまり parseInt() と parseFloat() を提供します。 。
注: これらのメソッドは String 型 (Number を除く) で呼び出された場合にのみ正しく実行され、他の型では NaN が返されます。

例:

コードをコピー コードは次のとおりです:

var iNum1 = parseInt("1234blue ");//1234
var iNum2 = parseInt("oxA"); //10
var iNum3 = parseInt("22.5"); //22
var iNum4 を返す= parseInt(" blue"); // NaN

を返します parseInt() メソッドには、2 進数、8 進数、16 進数、またはその他の基本文字列を 10 進数の整数に変換できる基本モードもあります。 2 番目のパラメータは、どの塩基を解析するかを指定します。
コードをコピー コードは次のとおりです。

var iNum1 = parseInt("AF", 16); // 175
var iNum2 = parseInt("10",2); // 2
var iNum3 = parseInt("10",8); // 8
var iNum4 を返します。 = parseInt( "10",10); //10 を返します

注: 10 進数の先頭に 0 が含まれる場合は、基数 10 を使用するのが最善です。そうでない場合、取得される値は 8 進数になります。
コードをコピーします コードは次のとおりです:

var iNum1 = parseInt("010") ; // 8
var iNum2 = parseInt("010",8); // 8
var iNum3 = parseInt("010",10); // 10
parseFloat () メソッドは parseInt() メソッドに似ています。このメソッドは、位置 0 から最初の無効な文字が見つかるまで各文字を調べ、その文字の前の文字列を数値に変換します。このメソッドでは、最初の小数点が有効な文字です。小数点以下 2 桁が使用されている場合、小数点以下 2 番目は無効とみなされます。このメソッドを使用する場合のもう 1 つの違いは、文字列が 10 進形式の浮動小数点数を表現する必要があることです。

コードをコピー コードは次のとおりです:

var fNum1 = parseFloat("1234blue"); // 1234.0 を返します
var fNum2 = parseFloat("0xA"); // NaN
var fNum3 = parseFloat("22.5"); を返します。 // 22.5
var fNum4 = parseFloat("22.34.5") を返します;// 22.34
var fNum5 = parseFloat("0908") を返します;// NaN
var fNum6 = parseFloat("blue を返します) ");//NaN を返します

3. 強制型変換
ECMAScript で使用できる 3 種類の強制型変換は次のとおりです:

(1).Boolean(value)
指定された値をブール型に変換します。
Boolean() 関数は、変換される値が文字列、ゼロ以外の数値、または少なくとも 1 つの文字を含むオブジェクトである場合に true を返します。値が空の文字列、数値 0、未定義、または null の場合は、false を返します。
例:

コードをコピー コードは次のとおりです:

var b1 = Boolean("" ); // false;
var b2 = Boolean("hi");//true
var b3 = Boolean(100);//true
var b4 = Boolean(null) ;//false
var b5 = Boolean(0);//false
var b6 = Boolean(new Object());//true

(2).Number( value)
指定された値を数値 (整数または浮動小数点数) に変換します。
parseInt() メソッドと parseFloat() メソッドは最初の無効な文字の前の文字列のみを変換するため、「4.5.6」は「4.5」に変換されることに注意してください。 Number()、「4.5.6」を使用してキャストすると、文字列値全体を数値に変換できないため、NaN が返されます。文字列を完全に変換できる場合、Number() は parseInt() メソッドを呼び出すか parseFloat() メソッドを呼び出すかを決定します。
例:
コードをコピー コードは次のとおりです。

Number(false) );// 0
数値(true);//1
数値(未定義);//NaN
数値(null);//0
数値("5.5");// 5.5
Number("56");//56
Number("5.6.7");//NaN
Number(new Object());//NaN
Number(100) ;//100

(3).String(value)
指定された値を文字列に変換します。
toString() メソッドの呼び出しとの唯一の違いは、null または未定義の値をキャストすると、エラーが発生せずに文字列が生成されることです。
コードをコピー コードは次のとおりです:

var s1 = String(null);//"null"
var oNull = null;
var s2 = oNull。 ();//エラーが発生します

2. 参照型
参照型は通常、クラスと呼ばれます。参照値が検出されると、オブジェクトが処理されます。 ECMAScript は、他のプログラミング言語のクラスと論理的に同等の「オブジェクト定義」を定義します。

1.Object クラス
ECMAScript のすべてのクラスはこのクラスから継承され、Object クラスのすべてのプロパティとメソッドは他のクラスに表示されます (オーバーライドされます)。

オブジェクトクラスの属性:

(1).Constructor----オブジェクトを作成する関数への参照(ポインタ)。 Object クラスの場合、このポインターは元の object() 関数を指します。

(2).Prototype ---- オブジェクトのオブジェクト プロトタイプへの参照。すべてのクラスに対して、デフォルトで Object オブジェクトのインスタンスを返します。

オブジェクト クラスのメソッド:

(1).HasOwnProperty(property)----オブジェクトに特定のプロパティがあるかどうかを判断します。プロパティは文字列として指定する必要があります (例: o.hasOwnProperty("name"))。

(2).IsPrototypeOf(object)----オブジェクトが別のオブジェクトのプロトタイプであるかどうかを判断します。

(3).PropertyIsEnumerable(property)----for..in ステートメントを使用して指定されたプロパティを列挙できるかどうかを判断します。

(4).ToString()----オブジェクトの元の文字列表現を返します。 ECMAScript 実装が異なれば、値も異なります。

(5).ValueOf()----オブジェクトに最適な元の値を返します。多くのクラスでは、このメソッドによって返される値は toString() の戻り値と同じです。

2. Boolean クラス
Boolean オブジェクトは ECMAScript ではほとんど使用されず、使用されたとしても理解するのは簡単ではありません。
例:

コードをコピー コードは次のとおりです。

var oFalseObject = new Boolean(false );
var bResult = oFalseObject && true;//true を出力します;

理由: ブール式では、すべてのオブジェクトが自動的に true に変換されます。

3.Number クラス
Number.MAX_VALUE およびその他の特別な値は、Number クラスの静的属性です。数値オブジェクトの Number の元の値を取得するには、次のように valueOf() メソッドを使用します。
var iNumber = oNumberObject.valueOf();
Object クラスから継承された標準メソッドに加えて、Number クラス数値を処理するための特別なメソッドが他にもいくつかあります。

toFixed() メソッド:
は、指定された小数点以下の桁数を持つ数値の文字列表現を返します。このメソッドは小数点以下 0 ~ 20 桁の数値を表現できます。この範囲外の値はエラーとなります。
例:

コードをコピー コードは次のとおりです。

var oNumberObject = new Number(99 );
aler(oNumberObject.toFixed(2));//「99.00」を出力

toExponential() メソッド:
は科学表記法で表現された数値を返します。形状。このメソッドは、出力する小数点以下の桁数を指定するパラメーターも受け取ります。例:
コードをコピー コードは次のとおりです。

var oNumberObj = new Number( 99);
alert(oNumberObj.toExponential(1));//「9.9e 1」を出力

toPrecision() メソッド:
次に従って、あらかじめ決められた形式の数値を返します。最も意味のある形式または指数形式。引数が 1 つあり、それは数値を表すために使用される合計桁数 (指数を除く) です。
コードをコピー コードは次のとおりです。

var oNumberObj = new Number(99);
alert(oNumberObj.toPrecision(1));//outputs "1e 2" ==100

toPrecision() メソッドが数値を近似するように丸めることがわかります。可能な限り現実に近い値の数。
例:
コードをコピー コードは次のとおりです:

var oNumberObj = new Number(99 );
alert(oNumberObj.toPrecision(2));// "99" を出力します
alert(oNumberObj.toPrecision(3));// "99.0" を出力します

toFixed ()、toExponential()、および toPrecision() メソッドはすべて、正しい小数点以下の桁数で数値を正しく表すために丸め演算を実行します。

toLocaleString() メソッド:
はページ上の形式で表示できます。たとえば、5210.50 は 5,210.50 と表示されますが、その値が使用される場合は、parseFloat($("N_YJJE").value.replace( //, /g, "")); カンマを置き換えてその値を取得します。

注: Boolean オブジェクトと同様に、Number オブジェクトも重要ですが、潜在的な問題を避けるために慎重に使用する必要があります。可能な限り、数値の生の表現を使用してください。

4. String クラス
String オブジェクトの valueOf() メソッドと toString() メソッドは、String 型の元の値を返します:

コードをコピー コードは次のとおりです:

alert(oStringObj.valueOf() == oStringObj.toString());//「true」を出力します"

文字列クラスには、文字列内の文字数である属性 length があります:
コードをコピー コードは次のとおりです:

var oStringObj = new String("hello world");
alert(oStringObj.length);outputs "11"

注: 文字列に 2 バイト文字が含まれている場合でも、各文字は 1 文字としてのみカウントされます。

charAt() メソッド:
は、指定された位置にある文字を含む文字列を返します:

コードをコピー コードは次のとおりです:

var oStringObj = new String("hello world");
alert(oStringObj.charAt(1));outputs "e"

charCodeAt() メソッド:
は、指定された位置の文字コードを含む文字列を返します:
コードをコピー コードは次のとおりです。次のように:

var oStringObj = new String("hello world");
alert(oStringObj.charCodeAt(1));outputs "101"

concat() メソッド:
は、1 つ以上の文字列を String オブジェクトの元の値に連結するために使用されます。元の String オブジェクトは変更されません。
コードをコピー コードは次のとおりです。

var oStringObj = new String("hello " );
var sResult = oStringObj.concat("world");//oStringObj "world"; より一般的な
alert(sResult);//「hello world」を出力します
alert(oStringObj);/ /outputs " hello"

indexOf() メソッドと lastIndexOf() メソッドは、別の文字列内の指定された部分文字列の位置を返します (部分文字列が見つからない場合は -1)。これら 2 つのメソッドの違いは、indexOf() は文字列の先頭 (位置 0) から部分文字列の検索を開始するのに対し、lastIndexOf() は文字列の末尾から部分文字列の検索を開始することです。

localeCompare()、文字列を比較します (アルファベット順で比較し、後のものほど大きくなります)。このメソッドには、比較される文字列というパラメーターが 1 つあり、次の 3 つの値のいずれかを返します:
1. String オブジェクトがパラメーター内の文字列の前にアルファベット順に配置されている場合、負の数値が返されます (最も一般的なのは-1 ですが、実際の戻り値は実装によって決まります)。
2. String オブジェクトがパラメータの文字列と等しい場合は、0 を返します。
3. String オブジェクトがパラメーター内の文字列の後にアルファベット順に配置されている場合は、正の数値を返します (最も一般的なのは 1 ですが、実際の戻り値は実装によって決まります)

slice() メソッドと substring() メソッド:
これら 2 つのメソッドは、処理される文字列の部分文字列を返し、どちらも 1 つまたは 2 つのパラメーターを受け取ります。第 1 パラメータは取得する部分文字列の開始位置、第 2 パラメータは取得する部分文字列の末尾よりも前の位置です (終端位置の文字は戻り値に含まれません)。 2 番目の引数を省略した場合、終了ビットはデフォルトの文字列の長さになります。これらのメソッドはどちらも String オブジェクト自体の値を変更しません。

コードをコピーします コードは次のとおりです。

var oStringObj = new String("hello world ");
alert(oStringObj.slice(3));//「lo world」を出力
alert(oStringObj.slice(3,7));//「low」を出力

注: 負のパラメータの場合、slice() メソッドは文字列の長さをパラメータに追加し、substring() メソッドはそれを 0 として扱います (つまり、無視されます)。
コードをコピーします コードは次のとおりです。

var oStringObj = new String("hello world ");
alert(oStringObj.slice(-3));//「rld」を出力することは、その逆を行うことと同じです
alert(oStringObj.substring(-3));//「hello world」を出力します
alert (oStringObj.slice(3,-4));//「low」を出力します
alert(oStringObj.substring(3,-4));//「hel」を出力します substring() は常に置き換えられます小さい番号が開始ビットとして機能し、大きい番号が終了ビットとして機能します。

toLowerCase()、toLocalLowerCase()、toUpperCase()、および toLocaleUpperCase():
最初の 2 つのメソッドは文字列をすべて小文字に変換し、後の 2 つのメソッドは文字列の変換に使用されます。大文字で入力してください。 toLocalLowerCase() メソッドと toLocaleUpperCase() メソッドは、特定の地域に基づいて実装されます。

覚えておいてください: String クラスのすべてのプロパティとメソッドは、擬似オブジェクトであるため、String プリミティブ値に適用できます。

5.instanceof 演算子
typeof 演算子を使用して参照型に値を格納する場合、どのような型のオブジェクトが参照されても、「object」が返されます。 instanceof メソッドでは、開発者はオブジェクトが特定のタイプであることを明示的に確認する必要があります。例:

コードをコピー コードは次のとおりです。

var oStrObj = new String( "hello world" );
alert(oStrObjinstanceof String);//「true」を出力します
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JavaScriptエンジンの理解:実装の詳細JavaScriptエンジンの理解:実装の詳細Apr 17, 2025 am 12:05 AM

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

Python vs. JavaScript:学習曲線と使いやすさPython vs. JavaScript:学習曲線と使いやすさApr 16, 2025 am 12:12 AM

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

Python vs. JavaScript:コミュニティ、ライブラリ、リソースPython vs. JavaScript:コミュニティ、ライブラリ、リソースApr 15, 2025 am 12:16 AM

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへ:すべてがどのように機能するかC/CからJavaScriptへ:すべてがどのように機能するかApr 14, 2025 am 12:05 AM

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

JavaScriptエンジン:実装の比較JavaScriptエンジン:実装の比較Apr 13, 2025 am 12:05 AM

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

ブラウザを超えて:現実世界のJavaScriptブラウザを超えて:現実世界のJavaScriptApr 12, 2025 am 12:06 AM

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

next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合)next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合)Apr 11, 2025 am 08:23 AM

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

next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合)next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合)Apr 11, 2025 am 08:22 AM

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

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 中国語版

SublimeText3 中国語版

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

SublimeText3 Mac版

SublimeText3 Mac版

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