1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【JavaScript】文字列② 〜文字列の分解・結合、比較〜

Posted at

概要

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
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?