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 には、文字列の一般的なメソッドがいくつか用意されています。これらのメソッドを呼び出しても、元の文字列の内容は変更されないことに注意してください。 、ただし、新しい文字列を返します:

toUpperCase

toUpperCase() 文字列をすべて大文字に変更します:

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

学び続ける
||
<html> <body> <script type="text/javascript"> var txt="Hello World!" document.write(txt.length) </script> </body> </html>
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜