文字列

文字、数字、記号などの任意の文字のセット 二重引用符(")、単一引用符(')、バッククォートのいずれか (`)は文字列プリミティブです。いくつかの文字列の例については、 前のモジュールの console.log のインスタンスには、 使用します。

console.log( "Hello, World." );
> Hello, World.

"Hello, World." は文字列プリミティブです。同じ結果になりますが、 引用符やバッククォートは

console.log( 'Hello, World.' );
> Hello, World.

console.log(`Hello, World.`);
> Hello, World.

引用符で囲まれた一連の文字を文字列リテラルといいます。 二重引用符と一重引用符は同じように動作し、一方に他方を含めることができる 使用します。

console.log( "I'm a string." );
> I'm a string.

console.log( '"A string," I said.' );
> "A string," I said.

文字列内にある同じ囲み文字のインスタンスが「closes」の場合 エラーの原因となる可能性があります。

console.log( '"I'm a string," I said.' );
> Uncaught SyntaxError: missing ) after argument list

これを回避するには、バックスラッシュ(/)を使用して文字をエスケープします。

console.log( '"I\'m a string," I said.' );
> "I'm a string," I said.

String オブジェクト

String オブジェクトは、関数として呼び出されると、指定された値を 文字列リテラル。

let myString = String( 10 );

myString
> "10"

typeof myString
> string

プロトタイプ継承で詳しく説明されているように、String オブジェクトをコンストラクタとして使用する必要はほとんどありません。これにより、 指定した値を含む文字列オブジェクト、メソッド、 String オブジェクトで提供されているプロパティを使用します。

let stringObj = new String( "My new string." );

typeof stringObj
> object

stringObj
> String { "My new string." }

連結

数字ではなく文字列のコンテキストで使用する場合はシングル プラス記号(+) 連結演算子として機能し、複数の文字列値を 1 つにまとめる string:

console.log( "My" + " string." );
> My string.

文字列リテラルとテンプレート リテラル

単一引用符、二重引用符、バッククォートは、 文字列プリミティブを作成しますただし、バッククォートを使用して、 テンプレート リテラル(「テンプレート文字列」と呼ばれることもあります)単一引用符または二重引用符で作成された文字列リテラルとは異なり、テンプレート文字列では複数行の文字列と文字列の補間を使用できます。

const myString = "This
is a string.";
> Uncaught SyntaxError: "" string literal contains an unescaped line break

const myString = `This
is a string.`;

console.log( myString );

> This
is a string.

テンプレート リテラルにはドル記号でマークされたプレースホルダ式を含めることができます。 中かっこ(${})。これらのプレースホルダは "補間"デフォルトで 式の結果によって、最後のプレースホルダのプレースホルダが 使用します。

console.log( "The result is " + ( 2 + 4 ) + "." );
> The result is 6.
console.log( `The result is ${ 2 + 4 }.` );
> The result is 6.

テンプレート リテラルをカスタム関数に渡すことができます。 タグ付きテンプレート(単一のテンプレートを使用する関数呼び出し)を作成する リテラルを引数のセットとして指定し、その変数の 記述します。

タグ関数の最初の引数には文字列値の配列が含まれ、 残りの引数はプレースホルダを定義します。この文字列値の配列は、 「分割」によってテンプレート リテラルに付けられます。「 配列の最初の要素には、最初のプレースホルダまでの任意の文字が含まれます。 2 番目の要素には 1 番目と 2 番目の間の任意の文字が含まれる 使用できます。各プレースホルダはタグ関数に スタンドアロン値とプレースホルダを関連付けます。

const myNoun = "template literal";

function myTagFunction( myStrings, myPlaceholder ) {
    const myInitialString = myStrings[ 0 ];
    console.log( `${ myInitialString }modified ${ myPlaceholder }.` );
}

myTagFunction`I'm a ${ myNoun }.`;
> "I'm a modified template literal."

理解度をチェックする

文字のエスケープに使用する文字はどれですか。

バックスラッシュ(
二重引用符("
スラッシュ(/

連結に使用される文字はどれですか。

+
&
.