JS String (文字列) オブジェクト

JS String (文字列) オブジェクト

 
 
JavaScript String オブジェクトは、文字列を処理するために使用され、文字列を操作するための多数のメソッドといくつかのプロパティを提供します。

 

String オブジェクトを作成するための構文は次のとおりです。

var val = new String(value);
var val = String(value);

パラメータ値は、作成する文字列または文字列オブジェクトです。

JavaScript では、文字列と文字列オブジェクトを自由に変換できるため、文字列オブジェクトを作成する場合でも、文字列型の変数を直接宣言する場合でも、文字列オブジェクトで提供されるメソッドとプロパティを直接使用できます。

String オブジェクトのプロパティ

次の表に、String オブジェクトで提供されるプロパティとその説明を示します。

属性 説明
constructor このオブジェクトを作成した String() 関数への参照を取得します
length 文字列の長さを取得する
prototype このプロパティを使用すると、オブジェクトにプロパティとメソッドを追加できます

サンプルコードは次のとおりです。

 var str = new String('JavaScript');

String.prototype.name = null;
str.name = "こんにちは世界!";
document.write(str.constructor + "<br>");       // 出力:function String() { [native code] }
document.write(str.length + "<br>");            // 出力:10
document.write(str.name);                       // 出力:こんにちは世界! 

String オブジェクトのメソッド

次の表に、String オブジェクトで提供されるメソッドとその説明を示します。

方法 説明
anchor() HTML アンカーを作成します。つまり、name 属性が anchor() メソッドのパラメーターである<a>タグを生成します。
big() 文字列を大きなフォントで表示する
blink() 点滅する文字列を表示
bold() 文字列を太字で表示
charAt() 指定された位置の文字を返します
charCodeAt() 指定された文字の Unicode エンコーディングを返します
concat() 文字列を連結する
fixed() 文字列をタイプライター テキストとして表示する
fontcolor() 指定された色を使用して文字列を表示します
fontsize() 指定されたサイズを使用して文字列を表示します
fromCharCode() 文字エンコーディングを文字列に変換する
indexOf() 文字列を取得し、文字列オブジェクト内で特定の文字列が最初に出現する位置を取得します
italics() 文字列を斜体で表示する
lastIndexOf() 文字列オブジェクト内で指定された文字列が最後に出現した位置を取得します
link() 文字列をリンクとして表示する
localeCompare() 数値を返し、その数値を使用して、文字列オブジェクトが指定された文字列より大きいか、小さいか、または等しいかを示します
match() 正規表現に従って文字列内の文字を照合します
replace() 正規表現に一致する部分文字列を置換
search() 正規表現に一致する文字列が最初に出現する位置を取得します
slide() 文字列の一部を取得して返す
small() 小さなフォント サイズを使用して文字列を表示する
split() 指定された文字に基づいて文字列を文字列の配列に分割します
strike() 取り消し線を使用して文字列を表示する
sub() 文字列を添え字として表示する
substr() 指定したインデックス位置から指定した長さの文字列をインターセプトする
substring() 文字列内の指定された 2 つのインデックスの間の文字を抽出する
sup() 文字列を上付き文字として表示する
toLocaleLowerCase() 文字列を小文字に変換する
toLocaleUpperCase() 文字列を大文字に変換する
toLowerCase() 文字列を小文字に変換する
toUpperCase() 文字列を大文字に変換する
toString() 文字列を返す
valueOf() 文字列オブジェクトのプリミティブ値を返します

サンプルコードは次のとおりです。

 var str = new String('JavaScriptチュートリアル');

document.write(str.anchor("myanchor") + "<br>");     // 生成されたHTMLコード: <a name="myanchor">JavaScriptチュートリアル</a>
document.write(str.big() + "<br>");                  // 生成されたHTMLコード: <big>JavaScriptチュートリアル</big>
document.write(str.blink() + "<br>");                // 生成されたHTMLコード: <blink>JavaScriptチュートリアル</blink>
document.write(str.bold() + "<br>");                 // 生成されたHTMLコード: <b>JavaScriptチュートリアル</b>
document.write(str.charAt(10) + "<br>");             // strの11番目の文字を取得して出力:教
document.write(str.charCodeAt(10) + "<br>");         // strの11番目の文字のUnicodeコードを取得して出力:25945
document.write(str.concat(" String オブジェクト") + "<br>"); // 文字列 " String オブジェクト" をstrの後ろに結合して出力:JavaScriptチュートリアル String オブジェクト
document.write(str.fixed() + "<br>");                // 生成されたHTMLコード: <tt>JavaScriptチュートリアル</tt>
document.write(str.fontcolor("red") + "<br>");       // 生成されたHTMLコード: <font color="red">JavaScriptチュートリアル</font>
document.write(str.fontsize(2) + "<br>");            // 生成されたHTMLコード: <font size="2">JavaScriptチュートリアル</font>
document.write(String.fromCharCode(72,69,76,76,79) + "<br>");             // Unicodeコードを実際の文字に変換して出力:HELLO
document.write(str.indexOf("Script") + "<br>");             // 文字列 "Script" がstrで最初に出現する位置を取得して出力:4
document.write(str.italics() + "<br>");                     // 生成されたHTMLコード: <i>JavaScriptチュートリアル</i>
document.write(str.lastIndexOf("a") + "<br>");              // 文字列 "a" がstrで最後に出現する位置を取得して出力:3
document.write(str.link("https://it-kiso.com/") + "<br>");  // 生成されたHTMLコード: <a href="https://it-kiso.com/">JavaScriptチュートリアル</a>
document.write(str.localeCompare("JavaScript") + "<br>");       // 文字列オブジェクトと指定された文字列を比較し、1を返す:1
document.write(str.match(/[abc]/g) + "<br>");                   // 正規表現/[abc]/gに一致する部分文字列をstrから取得して出力:a,a,c
document.write(str.replace(/[abc]/g, "Y") + "<br>");            // 正規表現/[abc]/gに一致する文字列を文字列 "Y"で置き換えて出力:JYvYSYriptチュートリアル
document.write(str.search(/[Script]/g) + "<br>");               // 正規表現に一致する文字列が最初に出現する位置を取得して出力:4
document.write(str.slice(6,11) + "<br>");           // 文字列を切り取って取得する(strの7番目から11番目の文字を取得して出力):ript教
document.write(str.small() + "<br>");               // 生成されたHTMLコード: <small>JavaScriptチュートリアル</small>
document.write(str.split("a") + "<br>");            // 文字列を指定の文字列で分割して配列にする("a"でstrを分割して出力):J,v,Scriptチュートリアル
document.write(str.strike() + "<br>");              // 生成されたHTMLコード: <strike>JavaScriptチュートリアル</strike>
document.write(str.sub() + "<br>");                 // 生成されたHTMLコード: <sub>JavaScriptチュートリアル</sub>
document.write(str.substr(3, 7) + "<br>");          // 4番目の文字から後ろの7文字を取得して出力:aScript
document.write(str.substring(3, 7) + "<br>");       // 文字列を切り取って取得する(strの4番目から7番目の文字を取得して出力):aScr
document.write(str.sup() + "<br>");                 // 生成されたHTMLコード: <sup>JavaScriptチュートリアル</sup>
document.write(str.toLocaleLowerCase() + "<br>");   // 出力:javascriptチュートリアル
document.write(str.toLocaleUpperCase() + "<br>");   // 出力:JAVASCRIPTチュートリアル
document.write(str.toLowerCase() + "<br>");         // 出力:javascriptチュートリアル
document.write(str.toUpperCase() + "<br>");         // 出力:JAVASCRIPTチュートリアル
document.write(str.toString() + "<br>");            // 出力:JavaScriptチュートリアル
document.write(str.valueOf() + "<br>");             // 出力:JavaScriptチュートリアル 
特殊文字

以前の調査を通じて、一重引用符と二重引用符を使用して文字列を定義できることがわかりましたが、文字列に一重引用符または二重引用符を追加する必要がある場合はどうすればよいでしょうか?次の例に示すように、バックスラッシュ\を使用して、文字列内の引用符をエスケープできます。

 var str1 = "彼は「さようなら」と言いました";
var str2 = '大丈夫です'; 

次の表に示すように、一重引用符と二重引用符に加えて、JavaScript にはバックスラッシュでエスケープできるいくつかの特殊文字も用意されています。

コード 出力 コード 出力
\’ アポストロフィ \r キャリッジリターン
\” 二重引用符 \t タブ
\\ バックスラッシュ自体 \b
\n 改行 \f ページを変更
 

「 JS String (文字列) オブジェクト」についてわかりやすく解説!絶対に観るべきベスト2動画

sliceメソッドって何?【JavaScript String・文字列/テキスト 編】
JavaScript 文字列