概要
JavaScriptを学習、理解を深めるため「JavaScript Primer 迷わないための入門書」を読み、
理解した内容等を記載していく。
「【JavaScript】JavaScript入門一覧」に他の記事をまとめています。
この記事で理解できること
- 文字列の分解、結合方法
- 文字列の長さを取得する方法
- 文字列の比較方法
文字列を配列へ分解(split)
- 第一引数に文字列の区切り文字を指定し、分解した配列を返す。
- 第一引数には正規表現も指定できる。
const str1 = "A!B!C";
console.log(str1.split("!")); // => [ 'A', 'B', 'C' ]
配列の要素を結合して文字列にする(join)
- 第一引数に区切り文字を指定し、その区切り文字で結合した文字列を返す。
const array = ["A", "B", "C"];
console.log(array.join("!")); // => A!B!C
文字列の長さ
- Stringの
length
プロパティは文字列の長さを返す。 - 長さの実態はCodeUnit(
Unicodeにおける1文字を表すのに使う最小限のビットの組み合わせ
)の数
const str1 = "ABCDE";
console.log(str1.length); // => 5(正確には5文字ではなく、CodeUnitが5つという評価をしている)
文字列の比較
- 厳密等価演算子(
===
)を用いて、同一かどうか比較を行う。 - 大小の関係演算子(
>
、<
、>=
、<=
)でも比較を行える。 - これらは内部的に文字列の
CodeUnitの数、並び順
が同じかで比較している。
const str2 = "A";
const str3 = "A";
// 文字列を比較
console.log(str2 === str3);
// 上記の例は、内部的にCodeUnit("A" = 65)同士を比較している
console.log(str2.charCodeAt(0)); // => 65("A"のCodeUnit);
console.log(str2.charCodeAt(0) === str3.charCodeAt(0));
const str4 = "B";
console.log(str4.charCodeAt(0)); // => 66("B"のCodeUnit);
// 内部的に"A"のCodeUnit(65)、"BのCodeUnit(66)"で比較を行う
console.log(str3.charCodeAt(0) === str4.charCodeAt(0)); // => false
console.log(str3.charCodeAt(0) > str4.charCodeAt(0)); // => false
console.log(str3.charCodeAt(0) < str4.charCodeAt(0)); // => true
console.log(str3.charCodeAt(0) >= str4.charCodeAt(0)); // => false
console.log(str3.charCodeAt(0) <= str4.charCodeAt(0)); // => true