JavaScriptの文字列
- 前のページ JS イベント
- 次のページ JS 文字列メソッド
JavaScriptの文字列はテキストの保存と操作に使用されます。
JavaScriptの文字列
JavaScriptの文字列は引号内のゼロ個以上の文字です。
例
var x = \"Bill Gates\";
シングルクォートまたはダブルクォートを使用できます:
例
var carname = \"Porsche 911\"; var carname = 'Porsche 911';
文字列内で引号を使用できますが、文字列を囲む引号と一致しなければなりません:
例
var answer = \"It's good to see you again!\"; var answer = \"He is called 'Bill'\"; var answer = 'He is called \"Bill\"';
文字列の長さ
内蔵属性 length
文字列の長さ:
例
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length;
特殊文字
文字列は引号で囲まなくてはならないため、JavaScriptはこの文字列を誤解します:
var y = "中国は磁器の故郷であり、したがって china は"China(中国)"と同名です。"
この文字列は「中国は磁器の故郷であり、したがって china は」に分割されます「China(中国)」。"
この問題を避ける方法は、次のようになります: \ エスケープ文字。
特殊文字を文字列文字に変換するためのアンシーコード文字は、反斜杠でエスケープされます:
コード | 結果 | 説明 |
---|---|---|
\' | ' | シングルクォート |
\" | " | ダブルクォート |
\\\ | \ | エスケープシーケンス |
例
シーケンス \"
文字列にダブルクォートを挿入する方法:
例
var x = "中国は瓷器的故里であり、したがって china は\"China(中国)\"と同名です。"
シーケンス \'
文字列にシングルクォートを挿入する方法:
例
var x = 'It\'s good to see you again';
シーケンス \\\
文字列に反斜杠を挿入する方法:
例
var x = "文字 \\ は反斜杠と呼ばれます。";
エスケープシーケンス(\
)は、文字列に他の特殊文字を挿入するためにも使用できます。
他の6つのJavaScriptで有効なエスケープシーケンス:
コード | 結果 |
---|---|
\b | バックスパース |
\f | ページ |
\n | 新しい行 |
\r | リターン |
\t | 水平タブ |
\v | 垂直タブ |
これらの6つのエスケープシーケンスは、最初はタイプライター、テレタイプライター、ファックスマシンのコントロールのために設計されました。HTMLでは何の意味もありません。
長いコード行の改行
最適な可読性のために、プログラマーは通常、一行あたり80文字を超えないようにします。
JavaScriptの文が一つの行に収まらない場合、最適な改行位置はある演算子の後です:
例
document.getElementById("demo").innerHTML = "Hello Kitty.";
あなたも文字列の中で改行は、反斜杠を使って行われます:
例
document.getElementById("demo").innerHTML = "Hello \ Kitty!";
\
このメソッドはECMAScript(JavaScript)の標準ではありません。
一部のブラウザも許可しません \
スペースが文字の後ろにあります。
長い文字列の改行を行う最も安全な方法(しかし少し遅いです)は、文字列の加法を使用することです:
例
document.getElementById("demo").innerHTML = "Hello" + "Kitty!";
コード行の改行には反斜杠を使用できません:
例
document.getElementById("demo").innerHTML = \ "Hello Kitty!";
文字列はオブジェクトでもあります
通常、JavaScriptの文字列は原始値で、文字列リテラルで作成されます:
var firstName = "Bill"
しかし、文字列もキーワードで new
オブジェクトとして定義されています:
var firstName = new String("Bill")
例
var x = "Bill"; var y = new String("Bill"); // typeof x が string を返します // typeof y が object を返します
文字列をオブジェクトとして作成しないでください。それにより実行速度が遅くなります。
new
キーワードはコードを複雑にします。また予期せぬ結果を引き起こす可能性があります:
次のように使用する場合 ==
相等演算子を使用する場合、相等な文字列は相等です:
例
var x = "Bill"; var y = new String("Bill"); // (x == y) は true です。なぜなら x と y の値が一致するからです
次のように使用する場合 ===
演算子を使用する場合、相等な文字列は不相等です。なぜなら ===
演算子はタイプと値の両方が一致する必要があります。
例
var x = "Bill"; var y = new String("Bill"); // (x === y) は false です。なぜなら x と y のタイプが異なるからです(文字列とオブジェクト)
さらに悪いです。オブジェクトは比較できません:
例
var x = new String("Bill"); var y = new String("Bill"); // (x == y) は false です。なぜなら x と y は異なるオブジェクトであるからです
例
var x = new String("Bill"); var y = new String("Bill"); // (x === y) は false です。なぜなら x と y は異なるオブジェクトであるからです
注意してください (x==y) と (x===y) の違いです。
JavaScript オブジェクトは比較できません。二つの JavaScript を比較すると常に false
。
- 前のページ JS イベント
- 次のページ JS 文字列メソッド