文字列型 (string type)
#
文字列リテラルJavaなどの言語では、ダブルクォートで文字列リテラル(String型)を表現し、シングルクォートで文字リテラル(char型)を表現するといったように、使うクォートで型が変わります。
一方JavaScriptでは、ダブルクォートでもシングルクォートでもまったく同じ文字列型になります。この点はPHPと同様です。またバッククォート(`
)を使っても文字列型になります。
javascript
// これらはすべて文字列リテラル"Hello"'Hello'`Hello`
javascript
// これらはすべて文字列リテラル"Hello"'Hello'`Hello`
文字列中に同じ引用符が含まれている場合は、バックスラッシュ\
でエスケープしなければなりません。
typescript
'He said "madam, I\'m Adam."'"He said \"madam, I'm Adam.\""
typescript
'He said "madam, I\'m Adam."'"He said \"madam, I'm Adam.\""
ダブルクォートとシングルクォートを使った文字列リテラルは、文字列の途中で改行できません。改行を入れたい場合は、\n
などの改行シーケンスを入れる必要があります。
#
テンプレートリテラルJavaScriptで、バッククォート`
で囲んだ文字列はテンプレートリテラル(template literal)と言います。テンプレートリテラルは、改行と式の挿入(expression interpolation)ができます。式の挿入は ${式}
のように書きます。
typescript
const count = 10;console.log(`現在、${count}名が見ています。`);//=> 現在、10名が見ています。
typescript
const count = 10;console.log(`現在、${count}名が見ています。`);//=> 現在、10名が見ています。
式の部分は変数だけでなく、計算式や関数を使った式も書けます。
javascript
`税込み${Number.floor(100 * 1.1)}円`
javascript
`税込み${Number.floor(100 * 1.1)}円`
'
、"
、`
のどれを使うべきか?#
文字列リテラルはTODO
#
文字列の型注釈TypeScriptの文字列型の型注釈はstring
を用います。
typescript
const message: string = "Hello";
typescript
const message: string = "Hello";
名前がよく似た型にString
型がありますが、string
とは異なるので注意してください。
#
文字列結合JavaScriptの文字列結合は文字列結合演算子(+
)を用います。数値型の加算でも同じ演算子が使われます。
javascript
"hello" + "world"
javascript
"hello" + "world"
PHPでは文字列結合演算子(.
)と、数値の加算演算子(+
)の2つに分かれていますが、JavaScriptでは文字列結合と加算は同じプラス記号で表現するので、PHPからJavaScriptに来た人は注意してください。