JavaScript文字列
JavaScript文字列
JavaScript文字列は、''または""で囲まれた文字で表されます。
「'」自体も文字の場合、「I'm OK」には I、'、m、スペース、O、K の 6 つの文字が含まれます。
文字列に ' と " の両方が含まれている場合はどうなりますか? エスケープ文字によって識別できます。例:
'I\'m \"OK\"!';
表される文字列の内容は次のとおりです: I'm "OK"!
エスケープ文字はエスケープ可能 多くの文字など、n は改行を表し、t はタブ文字を表し、文字自体をエスケープする必要があるため、\ で表される文字は x## の形式で 16 進形式で表現できます。たとえば、次のようにすることもできます。 Unicode 文字を表すには u#### を使用します:
'\x41'; // 完全等同于 'A'複数行文字列
複数行文字列は n で記述するのがより面倒であるため、最新の ES6 標準では新しい複数行文字列表現方法が追加されています。 `...` で表します:
'\u4e2d\u6587'; // 完全等同于 '中文'演習: ブラウザが ES6 標準をサポートしているかどうかをテストします。サポートしていない場合は、複数行の文字列を n で再表現してください:
// ブラウザがサポートしていない場合ES6 をサポートし、SyntaxError が報告されます:
`这是一个 多行 字符串`;
テンプレート文字列
複数の文字列を接続するには、+ 記号を使用して接続できます:
alert(`多行 字符串 测试`);接続する必要がある変数が多数ある場合は、+ 記号を使用しますES6 は新しいテンプレート文字列を追加します。これは上記の複数行の文字列と同じ方法で表現されますが、文字列内の変数は自動的に置き換えられます:
var name = '小明'; var age = 20; var message = '你好, ' + name + ', 你今年' + age + '岁了!'; alert(message);
演習: ブラウザが ES6 テンプレート文字列をサポートしているかどうかをテストします。 , サポートされていない場合は、テンプレート文字列を + 接続された通常の文字列に変更してください:
// ブラウザがテンプレート文字列をサポートしている場合、文字列内の変数が置き換えられます:
var name = '小明'; var age = 20; var message = `你好, ${name}, 你今年${age}岁了!`; alert(message);
操作文字列
Common文字列に対する操作は次のとおりです:
var name = '小明'; var age = 20; alert(`你好, ${name}, 你今年${age}岁了!`);文字列内の指定された位置にある文字を取得するには、配列のような添字操作を使用します。インデックス番号は 0 から始まります:
var s = 'Hello, world!'; s.length; // 13
文字列は不変であることに注意することが重要です。文字列のインデックスに値を代入しても、エラーは発生しませんが、効果はありません。
var s = 'Hello, world!'; s[0]; // 'H' s[6]; // ' ' s[7]; // 'w' s[12]; // '!' s[13]; // undefined 超出范围的索引不会报错,但一律返回undefined
JavaScript には、文字列の一般的なメソッドがいくつか用意されています。これらのメソッドを呼び出しても、元の文字列の内容は変更されないことに注意してください。 、ただし、新しい文字列を返します:
toUpperCasetoUpperCase() 文字列をすべて大文字に変更します:
var s = 'Test'; s[0] = 'X'; alert(s); // s仍然为'Test'toLowerCase
var s = 'Hello'; s.toUpperCase(); // 返回'HELLO'
indexOf
indexOf() は、指定された位置を検索します。文字列が表示されます:
var s = 'Hello'; var lower = s.toLowerCase(); // 返回'hello'并赋值给变量lower lower; // 'hello'substring
substring()指定されたインデックス範囲の部分文字列を返します:
var s = 'hello, world'; s.indexOf('world'); // 返回7 s.indexOf('World'); // 没有找到指定的子串,返回-1