概要
String プロトタイプオブジェクトを表します。
説明
String
インスタンスの全ては、String.prototype
を継承します。String
プロトタイプオブジェクトへの変更は、String
インスタンスの全てに伝播します。
プロパティ
- constructor
- オブジェクトのプロトタイプを生成する関数を指定します。
- length
- 文字列の長さを返します。
- N
- N 番目の文字にアクセスするために用いられます。N は、0 から length - 1 までの正の整数です。このプロパティは読み込み専用です。
メソッド
HTML に関連しないメソッド
charAt
- 指定された添え字の文字を返します。
charCodeAt
- 与えられた添え字の文字の Unicode の値を示す数を返します。
concat
- 2 つの文字列を連結し、新しい文字列を返します。
contains
- 文字列中に指定された文字列が含まれているかを返します。
endsWith
- 文字列の終端に指定された文字列が含まれているかを返します。
indexOf
- 呼び出す
String
オブジェクト 中で、指定された値が最初に現れる添え字を返します。指定された値が見つからない場合は、-1 を返します。 lastIndexOf
- 呼び出す
String
オブジェクト 中で、指定された値が最後に現れる添え字を返します。指定された値が見つからない場合は、-1 を返します。 localeCompare
- 参照文字列が、並べ替え順において、与えられた文字列の前後にあるか、あるいは、同じかどうかを示します。
match
- 文字列に対する正規表現のマッチのために使用されます。
quote
- 文字列をダブルクォート ("
"
")で囲みます。 replace
- 正規表現と文字列の間のマッチを見つけ、マッチした部分文字列を新しい部分文字列に置き換えるために使用されます。
search
- 正規表現と指定された文字列の間のマッチのための検索を実行します。
slice
- 文字列の一部分を取り出し、新しい文字列を返します。
split
- 文字列を複数の部分文字列に区切ることによって、String オブジェクトを文字列の配列に分割します。
startsWith
- 文字列が指定された文字列で開始されているかを返します。
substr
- 文字列において、指定された位置から指定された文字数の文字を返します。
substring
- 文字列において、文字列内の 2 つの添え字の間にある文字を返します。
toLocaleLowerCase
- 文字列内の文字を現在のロケールでの小文字に変換します。ほとんどの言語で、このメソッドは、
toLowerCase
と同じ結果を返します。 toLocaleUpperCase
- 文字列内の文字を現在のロケールでの大文字に変換します。ほとんどの言語で、このメソッドは、
toUpperCase
と同じ結果を返します。 toLowerCase
- 小文字に変換された文字列の値を呼び出して返します。
toSource
- 指定されたオブジェクトを表すオブジェクトリテラルを返します。この値を新しいオブジェクトを生成するために使用することができます。
Object.toSource
メソッドを上書きします。 toString
- 指定されたオブジェクトの文字列を返します。Object.toString メソッドを上書きします。
toUpperCase
- 大文字に変換された文字列の値を呼び出して返します。
trim
- 文字列の最初と最後にある空白を削除します。ECMAScript 5 標準の一部です。
trimLeft
- 文字列の左側にある空白を削除します。
trimRight
- 文字列の右側にある空白を削除します。
valueOf
- 指定されたオブジェクトのプリミティブ値を返します。
Object.valueOf
メソッドを上書きします。
HTML ラッパーメソッド
以下のメソッドは、それぞれ、特定の HTML タグでラップされた文字列のコピーを返します。
anchor
<a name="name">
(ハイパーテキストターゲット)big
<big>
blink
<blink>
bold
<b>
fixed
<tt>
fontcolor
<font color="color">
fontsize
<font size="size">
italics
<i>
link
<a href="url">
(URL へのリンク)small
<small>
strike
<strike>
sub
<sub>
sup
<sup>
これらのメソッドは、使用に制限があるメソッドで、利用可能なHTML タグと属性のサブセットのみを提供します。
例
例:repeat
メソッドを持つように文字列のインスタンスを拡張する
以下の例は、 str_rep
というメソッドを生成し、String.prototype.repeat = str_rep
という文を用いて、String
オブジェクトの全てにそのメソッドを追加しています。String
インスタンスの全てが、既に生成されていたとしても、そのメソッドを持つようになります。例では次に、その代わりとなるメソッドを生成し、s1.repeat = fake_rep
という文を用いて、String
オブジェクトのひとつで以前のメソッドを上書きしています。String
オブジェクトに残っている str_rep
メソッドは、置き換えられていません。
var s1 = new String("a"); var s2 = new String("b"); var s3 = new String("c"); // String オブジェクトの全てに対して「文字列を N 回繰り返す」メソッドを // 生成します function str_rep(n) { var s = "", t = this.toString(); while (--n >= 0) { s += t } return s; } String.prototype.repeat = str_rep; s1a=s1.repeat(3); // "aaa" を返します。 s2a=s2.repeat(5); // "bbbbb" を返します。 s3a=s3.repeat(2); // "cc" を返します。 // String 変数の 1 つだけに代入する代替メソッドを生成します。 function fake_rep(n) { return "repeat " + this + " " + n + " times."; } s1.rep = fake_rep s1b=s1.repeat(1); // "repeat a 1 times." を返します。 s2b=s2.repeat(4); // "bbbb" を返します。 s3b=s3.repeat(6); // "cccccc" を返します。
この例での関数は、String
コンストラクタで生成されていない String
オブジェクトでも動作します。次のコードは、"zzz" を返します。
"z".repeat(3);