String オブジェクト
更新 : 2007 年 11 月
このオブジェクトを使用すると、文字列の操作と書式設定を実行できます。また、文字列内の一部分を取得したり、文字列内で指定した文字列を検索できます。
function String([stringLiteral : String])
引数
- stringLiteral
省略可能です。任意の Unicode 文字グループ。
解説
String オブジェクトは、リテラル文字列を使用して自動的に作成できます。この方法で作成された String オブジェクト ("プリミティブ" 文字列) は、new 演算子で作成された String オブジェクトとは使い方が異なります。プリミティブ文字列では、プロパティの読み取りやメソッドの呼び出しは実行できますが、新しいプロパティの作成やメソッドの追加は実行できません。
リテラル文字列にエスケープ シーケンスを使用すると、改行文字や Unicode 文字など、文字列で直接使用できない特殊文字を表すことができます。スクリプトのコンパイル時に、リテラル文字列の各エスケープ シーケンスは、それぞれが表している文字に変換されます。詳細については、「文字列データ」を参照してください。
JScript では、String 型も定義されています。このデータ型は、String オブジェクトとは異なるプロパティとメソッドを提供します。String 型の変数にプロパティを作成したり、メソッドを追加したりすることはできません。String オブジェクトのインスタンスでは、これらの処理が可能です。
String オブジェクトは、String 型 (System.String 型と同じ) と相互運用されます。つまり、String オブジェクトは String 型のメソッドとプロパティを呼び出すことができ、String 型は String オブジェクトのメソッドとプロパティを呼び出すことができます。詳細については、「String」を参照してください。また、String オブジェクトは String 型を受け取る関数で使用でき、その逆も可能です。
String オブジェクトのデータ型は Object で、String ではありません。
例 1
このスクリプトでは、length プロパティは読み取り可能で、toUpperCase メソッドは呼び出し可能ですが、カスタム プロパティの myProperty にはプリミティブ文字列を設定できないことを示しています。
var primStr : Object = "This is a string";
print(primStr.length); // Read the length property.
print(primStr.toUpperCase()); // Call a method.
primStr.myProperty = 42; // Set a new property.
print(primStr.myProperty); // Try to read it back.
このスクリプトの出力は次のようになります。
16
THIS IS A STRING
undefined
例 2
new ステートメントで作成された String オブジェクトの場合は、カスタム プロパティを設定できます。
var newStr : Object = new String("This is also a string");
print(newStr.length); // Read the length property.
print(newStr.toUpperCase()); // Call a method.
newStr.myProperty = 42; // Set a new property.
print(newStr.myProperty); // Try to read it back.
このスクリプトの出力は次のようになります。
21
THIS IS ALSO A STRING
42