【JavaScript】文字列の連結とは?方法を丁寧に解説。
JavaScriptで、+ (加算演算子)を文字列などに使うと、それらを連結させることが可能です。
この記事では、JavaScriptにおける「文字列の連結」に関する挙動に関して解説します。
この記事で得られる知識
- JavaScriptの文字列の連結とは?
- JavaScriptで「文字列の連結」の仕方
では、内容へ。
そもそも文字列の連結とは?
文字列の連結とは、その名前の通り、2つのstring型のデータを、一つのstring型のデータにすることを指します。
実は、両方がstring型である必要はないので、それについての挙動も順を追って解説しますね。
JavaScriptで「文字列の連結」をする方法
let result = "ラーメン" + "が好きです。";
console.log( result ); // "ラーメンが好きです。"
JavaScriptの「文字列の連結」は簡単で、上のように、+ (加算演算子) を使うことで実現できます。
string型 + string型
let result = "北海" + "道";
console.log( result ); // "北海道"
string型 + string型の時は、この様に普通に上手くいきます。
string型 + number型
let result = "12" + 6;
console.log( result ); // "126"
string型 + number型 に対して+ 演算子を使うと、JavaScriptでは、暗黙的に「型変換」が行われます。
string型 + number型
↓
string型 + string型
となります。
なので結果は”126″となるのですね。
number型 + string型
number型 + string型 の時も同じです。
number型 + number型 + string型
let result = 1 + 3 + "10";
console.log( result ); // "410"
この様な場合は、同じ優先度の場合は、通常式は左から評価されるので、まず「1+3」が計算された後に「文字列の連結」が行われます。
symbol型を除く他の全ての型のデータは文字列に変換される。
+ が二項演算子として機能するとき、片方が文字列であれば、もう片方のオペランドは文字列型に暗黙的に型変換が行われます。
※但し、symbol型のデータは、自動的に文字列には変換されませんので、symbol型以外、ですね。
オペランドとは、演算子が適用されるもの、のことです。
2つのオペランドに適用される演算子は「二項演算子」と呼ばれます。
文字列の連結で使われる+ は二項演算子です。
それに対して、
let count = "23";
typeof +count; // "number"
この様な型変換で使われるような+ はオペランドが1つなので「単項演算子」です。
まとめ
JavaScriptでは、+ を使うと「文字列の連結」ができる。
+ が二項演算子として機能し、片方のオペランドがstring型であるとき、片方が文字列型に型変換されて、「文字列の連結」が行われる。(symbol型を除く)
式は左から評価される。
最後まで読んでくれてありがとうございました!