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

jsの型変換と参照型(Boolean_Number_String)_javascriptスキルを詳しく解説

May 16, 2016 pm 04:56 PM
js 参照型 型変換

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 までご連絡ください。

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

推奨: 優れた JS オープンソースの顔検出および認識プロジェクト 推奨: 優れた JS オープンソースの顔検出および認識プロジェクト Apr 03, 2024 am 11:55 AM

顔の検出および認識テクノロジーは、すでに比較的成熟しており、広く使用されているテクノロジーです。現在、最も広く使用されているインターネット アプリケーション言語は JS ですが、Web フロントエンドでの顔検出と認識の実装には、バックエンドの顔認識と比較して利点と欠点があります。利点としては、ネットワーク インタラクションの削減とリアルタイム認識により、ユーザーの待ち時間が大幅に短縮され、ユーザー エクスペリエンスが向上することが挙げられます。欠点としては、モデル サイズによって制限されるため、精度も制限されることが挙げられます。 js を使用して Web 上に顔検出を実装するにはどうすればよいですか? Web 上で顔認識を実装するには、JavaScript、HTML、CSS、WebRTC など、関連するプログラミング言語とテクノロジに精通している必要があります。同時に、関連するコンピューター ビジョンと人工知能テクノロジーを習得する必要もあります。 Web 側の設計により、次の点に注意してください。

PHP と JS を使用して株価ローソク足チャートを作成する方法 PHP と JS を使用して株価ローソク足チャートを作成する方法 Dec 17, 2023 am 08:08 AM

PHP と JS を使用して株のローソク足チャートを作成する方法。株のローソク足チャートは、株式市場で一般的なテクニカル分析グラフィックです。始値、終値、最高値、株価などのデータを描画することで、投資家が株式をより直観的に理解するのに役立ちます。株価の最低価格、価格変動。この記事では、PHP と JS を使用して株価のローソク足チャートを作成する方法を、具体的なコード例とともに説明します。 1. 準備 開始する前に、次の環境を準備する必要があります。 1. PHP を実行するサーバー 2. HTML5 および Canvas をサポートするブラウザー 3

株価分析に必須のツール: PHP と JS を使用してローソク足チャートを描画する手順を学びます 株価分析に必須のツール: PHP と JS を使用してローソク足チャートを描画する手順を学びます Dec 17, 2023 pm 06:55 PM

株式分析に必須のツール: PHP および JS でローソク足チャートを描画する手順を学びます。特定のコード例が必要です。インターネットとテクノロジーの急速な発展に伴い、株式取引は多くの投資家にとって重要な方法の 1 つになりました。株価分析は投資家の意思決定の重要な部分であり、ローソク足チャートはテクニカル分析で広く使用されています。 PHP と JS を使用してローソク足チャートを描画する方法を学ぶと、投資家がより適切な意思決定を行うのに役立つ、より直感的な情報が得られます。ローソク足チャートとは、株価をローソク足の形で表示するテクニカルチャートです。株価を示しています

Golang では、ジェネリック関数はポインターと参照型をどのように処理しますか? Golang では、ジェネリック関数はポインターと参照型をどのように処理しますか? Apr 16, 2024 pm 04:06 PM

ジェネリック関数が Go でポインター型を処理する場合、元の変数への参照を受け取り、変数値を変更できるようになります。参照型は渡されるときにコピーされるため、関数は元の変数値を変更できなくなります。実際の例には、汎用関数を使用して文字列または数値のスライスを比較することが含まれます。

golang関数の型変換 golang関数の型変換 Apr 19, 2024 pm 05:33 PM

関数内型変換を使用すると、ある型のデータを別の型に変換できるため、関数の機能が拡張されます。 type_name:=variable.(type) という構文を使用します。たとえば、strconv.Atoi 関数を使用すると、文字列を数値に変換し、変換が失敗した場合にエラーを処理できます。

PHP および JS 開発のヒント: 株価ローソク足チャートの描画方法をマスターする PHP および JS 開発のヒント: 株価ローソク足チャートの描画方法をマスターする Dec 18, 2023 pm 03:39 PM

インターネット金融の急速な発展に伴い、株式投資を選択する人がますます増えています。株式取引では、ローソク足チャートは一般的に使用されるテクニカル分析手法であり、株価の変化傾向を示し、投資家がより正確な意思決定を行うのに役立ちます。この記事では、PHP と JS の開発スキルを紹介し、株価ローソク足チャートの描画方法を読者に理解してもらい、具体的なコード例を示します。 1. 株のローソク足チャートを理解する 株のローソク足チャートの描き方を紹介する前に、まずローソク足チャートとは何かを理解する必要があります。ローソク足チャートは日本人が開発した

暗黙的な型変換: 型のさまざまなバリエーションとプログラミングにおけるその応用の探求 暗黙的な型変換: 型のさまざまなバリエーションとプログラミングにおけるその応用の探求 Jan 13, 2024 pm 02:54 PM

さまざまな種類の暗黙的な型変換と、プログラミングにおけるその役割を調べます。 はじめに: プログラミングでは、さまざまな種類のデータを処理する必要があることがよくあります。場合によっては、特定の操作を実行したり、特定の要件を満たすために、あるデータ型を別のデータ型に変換する必要があります。このプロセスでは、暗黙的な型変換が非常に重要な概念になります。暗黙的な型変換とは、変換型を明示的に指定せずに、プログラミング言語が自動的にデータ型変換を実行するプロセスを指します。この記事では、さまざまな種類の暗黙的な型変換と、プログラミングにおけるその役割について説明します。

jsとvueの関係 jsとvueの関係 Mar 11, 2024 pm 05:21 PM

js と vue の関係: 1. Web 開発の基礎としての JS、2. フロントエンド フレームワークとしての Vue.js の台頭、3. JS と Vue の補完関係、4. JS と Vue の実用化ビュー。

See all articles