『JavaScript 高度なプログラミング』読書メモ (3) ECMAScript_Javascript スキルの参照型

WBOY
リリース: 2016-05-16 17:55:59
オリジナル
939 人が閲覧しました

2.8 参照型

1. オブジェクト クラス
ECMAScript のすべてのクラスは Object クラスから継承されます。

Object クラスには次のプロパティがあります。

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

プロトタイプ: オブジェクトのプロトタイプへの参照。

Object クラスにはいくつかのメソッドもあります。

HasOwnProperty(property): オブジェクトに特定のプロパティがあるかどうかを判断します。属性値は文字列で指定する必要があります。

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

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

ToString(): オブジェクトの元の文字列表現を返します。

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

上記の各プロパティとメソッドは、他のクラスによってオーバーライドされます。

2. ブール クラス
ブール オブジェクトは理解するのが難しいため、ECMAScript ではほとんど使用されません。

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

var oFalseObject = new Boolean(false);
var bResult= oFalseObject && true;

このコードでは、ブール値オブジェクトが false 値で作成され、この値と元の値 true を使用して AND 演算が実行されます。ブール演算では、false と true の間の AND 演算の結果は false になります。ただし、このコード行では、値 false ではなく、oFalseObject が評価されます。ブール式では、すべてのオブジェクトが自動的に true に変換されるため、結果は true になります。以下のコードを参照してください:
コードをコピー コードは次のとおりです:

var oFalseObject = new Boolean(false );
var bResult= oFalseObject && true; // true を出力
var bResult2= oFalseObject.valueOf() && true; 3. Number クラス
Number の toString() メソッドについては、前回の記事で詳しく紹介しています。
Number には、数値を処理するためのいくつかの特別なメソッドがあります。
toFixed (パラメーター): 指定された小数点以下の桁数を持つ数値の文字列表現を返します。パラメーターの範囲は 0 ~ 20 です。

toExponential (パラメーター): 科学的表記法で表された数値の文字列形式を返します。 toFixed() メソッドと同様に、toExponential() にも出力される小数点以下の桁数のパラメーターがあります。パラメーターの範囲は 0 ~ 20 です。

toPrecision (パラメーター): 最も意味のある形式に従って、数値の既定の形式または指数形式を返します。これには、数値の合計数 (指数を除く) というパラメーターが 1 つあります。最小パラメータは 1 です。

上記の 3 つのメソッドは丸め演算を実行します。サンプルコード:




コードをコピー
コードは次のとおりです。 var oNumber=new Number( 99); console.log(oNumber.toFixed(0)); //出力 99
console.toFixed(2)); //出力 99.00

var oNumber1= new Number( 99);
console.log(oNumber1.toExponential(0)); //出力 1e 2 は四捨五入されました
console.log(oNumber1.toExponential(1));
console.log(oNumber1.toExponential(2)); //出力 9.90e 1

var oNumber3=new Number(99);
console.log(oNumber3.toPrecision(0)) ; //出力エラー精度 0 が範囲外です
console.log(oNumber3.toPrecision(1)) //出力 1e 2 は丸められています
console.log(oNumber3.toPrecision(2)); outpus 99
console.log(oNumber3.toPrecision(3)); //outpus 99.0



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

コードをコピー

String クラス 文字列内の文字数を表す length 属性を持ちます。

String クラスには多数のメソッドがあり、主に次のように紹介されます。

charAt (整数パラメーター): 文字列内の単一の文字を返します。例:




コードをコピー

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

var oStringObject=new String("Hello world");
console.log(oStringObject.charAt(0));//outpus "H"
console.log(oStringObject.charAt( 1));//outpus "e"
console.log(oStringObject.charAt(11));//outpus (空の文字列)

charCodeAt(整数パラメータ): return文字列内の単一文字のコード。例:
コードをコピー コードは次のとおりです。

var oStringObject=new String(" Hello world" );
console.log(oStringObject.charCodeAt(0));//出力 "72"
console.log(oStringObject.charCodeAt(1));//出力 "101"
console.log (oStringObject.charCodeAt(11));//outpus NaN

concat (string): 1 つ以上の文字列を String オブジェクトの元の値に連結します。例:
コードをコピー コードは次のとおりです。

var oStringObject=new String(" Hello world" );
var sResult=oStringObject.concat(" Concat");
console.log(oStringObject);//outpus "String { 0="H", 1="e", 2= "l" , ...}"
console.log(sResult);//出力 "Hello world Concat"
alert(oStringObject);//出力 "Hello world"

indexOf( string): 別の文字列内での指定された文字列の位置を返します(文字列の先頭から取得します)。

lastIndexOf(string): 別の文字列 (文字列の末尾から取得) 内の指定された文字列の位置を返します。例:
コードをコピー コードは次のとおりです。

var oStringObject=new String("こんにちは、こんにちは" );
console.log(oStringObject.indexOf("lo"));//出力 3
console.log(oStringObject.lastIndexOf("lo"));//出力 9

LocaleCompare (文字列): 文字列を並べ替えます。戻り値は次の 3 つのいずれかです。

A. String オブジェクトがパラメータ内の文字列の前でアルファベット順に並べ替えられている場合、負の数は次のようになります。戻り値 (通常は -1 ですが、実際の戻り値は特定の実装によって決まります)

B. String オブジェクトがパラメーター内の文字列と等しい場合、0 を返します

C. String オブジェクトはアルファベット順に配置されます。 パラメーター内の文字列の後に、正の数値 (通常は 1 ですが、実際の戻り値は特定の実装によって決まります) を返します。

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

var oStringObject=new String("Hello"); log(oStringObject.localeCompare("aello")); // 出力 1
console.log(oStringObject.localeCompare("Hello")); // 出力 0
console.log(oStringObject.localeCompare("zello") ")); //outpus -1

slice(整数パラメータ[,整数パラメータ]), サブ文字列(整数パラメータ[,整数パラメータ]): 部分文字列から文字列値を作成します。最初のパラメータは取得する部分文字列の開始位置、2 番目のパラメータは取得する部分文字列の終了前の位置です。2 番目のパラメータを省略した場合、終了位置はデフォルトの文字列の長さになります。これらのメソッドはどちらも String オブジェクト自体の値を変更しません。パラメータが正の場合、2 つのメソッドの使用法と戻り値は同じで、パラメータが負の値の場合のみ異なります。負のパラメータの場合、slice() メソッドは文字列の長さをパラメータに追加し、substring() はそれを 0 として扱います。さらに、パラメータが 2 つあり、2 番目のパラメータが最初のパラメータより小さい場合、slice() によって返される値は空で、substring() は小さい方のパラメータを最初のパラメータとして使用します。例:

コードをコピーします コードは次のとおりです:
var oStringObject=new String ("Hello World ");
console.log(oStringObject.slice(3)); //出力 "lo World"
console.log(oStringObject.substring(3)); "
console.log(oStringObject.slice(3,7)); //出力 "lo W"
console.log(oStringObject.substring(3,7)); // 出力 "lo W"
console.log(oStringObject.slice(3,0)); //出力 (空の文字列)
console.log(oStringObject.substring(3,0)) //出力 "Hel"

console .log(oStringObject.slice(-3)); //「rld」を出力します。
console.log(oStringObject.substring(-3)); //「Hello World」を出力します。 log(oStringObject.slice(3,-4)); //出力 "lo W"
console.log(oStringObject.substring(3,-4)); //出力 "Hel"


toLowerCase()、toLocaleLowerCase()、toUpperCase()、toLocaleUpperCase(): 最初の 2 つは文字列をすべて小文字に変換するために使用され、最後の 2 つは文字列をすべて大文字に変換するために使用されます。 toLowerCase() と toUpperCase() は独自のメソッドですが、toLocaleLowerCase() と toLocaleUpperCase() は特定の領域に基づいて実装されています。例:
コードをコピー コードは次のとおりです。

var oStringObject=new String(" Hello World" );
console.log(oStringObject.toLowerCase()); //「hello world」を出力
console.log(oStringObject.toLocaleLowerCase()); //「hello world」を出力
console.log (oStringObject.toUpperCase()); //「HELLO WORLD」を出力します
console.log(oStringObject.toLocaleUpperCase()) //「HELLO WORLD」を出力します

; >
5.instanceof 演算子 typeof 演算子を使用して参照型を使用して値を格納する場合、どの型のオブジェクトを参照しても「object」が返されます。 ECMAScript では、この問題を解決するために別の演算子 instanceof が導入されました。
instanceof 演算子は typeof 演算子に似ており、処理されるオブジェクトの種類を識別するために使用されます。 typeof メソッドとは異なり、instanceof メソッドでは、開発者はオブジェクトが特定の型であることを明示的に確認する必要があります。例:

コードをコピー コードは次のとおりです。
var oStringObject=new String(" hello world" );
alert(oStringObjectinstanceof String); //「true」を出力

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート