JavaScript のデータ型(1)文字列型を初心者向けに分かりやすく解説|JavaScript入門講座(3)

JavaScript
この記事は約7分で読めます。

はじめに

 JavaScript入門講座の第三弾として、JavaScript のデータ型(1)文字列型ついて紹介します。

 この記事を読むと次の疑問について知ることができます。

  • 変数のデータ型とはどのようなもの?
  • 文字列型とは?
    ・文字列指定
    ・文字列の結合
    ・エスケープシーケンス
    ・文字列操作メソッド

 JavaScript入門講座(2)では、JavaScriptの変数について解説してきました。

 ここでは、JavaScript のデータ型(1)文字列型について深堀していきます。

変数のデータ型

 変数には、数字を扱う数値型、文字なを扱う文字列型、真偽を扱う真偽型などがありますが、JavaScriptでは。基本的に文字のデータ型を宣言する必要はありません。

 しかし、プログラムを書く上では、扱うデータが何型であるかを知ることは大事であり、また、必要でもあります。

 データ型を大きく分類すると、次のように分類できます。

  • プリミティブ型 ⇐ 変数には値自身が格納され、受け渡しは値そのもの
    数値、巨大な整数、文字列、真偽、Simbol、Null、undefinded
  • オブジェクト型(複合型) ⇐ 変数には値が配列に格納され、値の受け渡しは、配列自体の値が変更され、変数全てに影響を与える。
    配列、オブジェクト、関数

 データ型は、JavaScriptの演算子(typeof)で調べることができます。

Console.log(typeof 調べたいデータ); ⇐ コンソールに調べたデータのデータ型が出力

 それでは、それぞれの文字列についてもう少し深堀していきます。

文字列型

 文字列とは、文字が並んだものを文字列と言います。例えば、「今日は晴れだ。」は文字列であり、「今」、「日」、「は」、「晴」、「れ」、「だ」、「。」が一文字一文字が連なって一つの文字列を構成しています。

 文字列は、1文字でも文字列であり、長い文書でも文字列になり、0文字(空文字)でも文字列になり得ます。

文字列の指定

 文字列が格納された変数を文字列変数と呼び、変数に入れるには文字列は、ダブルクォーテーション(”)またはクォーテーション( ' )で挟んで指定して入れます。

const chr1 = "はーい!'元気'と彼女が言った。";
const chr2 = 'はーい!"元気"と彼女は言った。';
const chr3 = "はーい!元気と彼女は言った。";
const chr4 = 'はーい!元気と彼女は言った。';
console.log(chr1);
console.log(chr2);
console.log(chr3);
console.log(chr4);

上述のコードの解説

  1. constで宣言した変数 chr1 に文字列「はーい!'元気'と彼女が言った。」を代入、文字列内クォーテーション( ' )が入っているために、文字列をダブルクォーテーション(”)で挟んでいます。
  2. constで宣言した変数 chr2 に文字列「はーい!"元気"と彼女は言った。」を代入、文字列内ダブルクォーテーション(”)が入っているために、文字列をクォーテーション( ' )で挟んでいます。
  3. constで宣言した変数 chr3 に文字列「はーい!元気と彼女は言った。」を代入、文字列をダブルクォーテーション(”)で挟んでいます。
  4. constで宣言した変数 chr3 に文字列「はーい!元気と彼女は言った。」を代入、文字列をクォーテーション( ' )で挟んでいます。
  5. console.log(chr1);、console.log(chr2);、console.log(chr3);、console.log(chr4);でそれぞれの文字列をコンソールに出力
    エラーがないことを確認してください。
    結論 : 文字列を指定するときには、ダブルクォーテーション(”)、クォーテーション( ' )のどちらで挟んでもOK、しかし、ダブルクォーテーション(”)、クォーテーション( ' )が文字列に入っている場合は、入っていない方では挟むこと。

文字列の結合

 文字列は、「+」で結合することができ、数値も文字列として結合されます。

 文字列を数値として扱いたい場合は、文字列を数値に変換する「Number()」を使います。

const chr5 = "126"; //文字列の126
const num1 = 100; //数値
const gouKei = chr5 + num1;//文字列として結合126100
const gouKei1= Number(chr5) + num1;//数値として計算
console.log(gouKei);
console.log(gouKei1);

上述のコードの解説

  1. constで宣言した変数 chr5 に文字列「126」を代入
  2. constで宣言した変数 num1 に数値「100」を代入
  3. constで宣言した変数 gouKei に「chr5 + num1」で文字列の結合を代入
    console.log(gouKei);で確認すると、「126100」が入っていることを確認
  4. constで宣言した変数 gouKei1 に「Number(chr5) + num1」でchr5を数値化して、計算した値を代入
    console.log(gouKei1);で確認すると、「226」が入っていることを確認

エスケープシーケンス

 特殊な文字として、タブ、改行などはバックスラッシュ「Winsouwsでは(\)」を使って表現でき、そのような特殊文字をエスケープシーケンスと呼びます。

 それらを次に載せておきます。

エスケープシーケンス文字 意味 HTMLで使われるエスケープシーケンス
\t 水平タブ エスケープシーケンス文字 意味
\n
改行(ラインフィード)
&quot シングルクォーテーション(’)
\f
改ページ(フォームフィード)
&amp アンパサンド(&)
\r
復帰(キャリッジリターン)
&lt 小なり(<)
\b バックスペース &gt 大なり(>)
\"
ダブルクォーテーション
&nbsp 半角スペース
\'
シングルクォーテーション
&copy コピーライト
\\
バックスラッシュ(※1)
   
\0 NULL文字    
\xXX
2桁のXX(16進数)が表すLatin-1文字
   
\uXXXX
4桁のXXXX(16進数)が表すUnicode文字
   

文字列操作メソッド

 「+」は、文字列を結合することができますが、これ以外に文字列を操作するメソッドがJavaScriptにはあります。

 この中で幾つかを紹介します。

const chr6 = "今日は晴れだった。明日はどうだろうか?";
const charLen = chr6.length;//文字列の文字の長さを抜き出す
const cutChar1 = chr6.substr(2,3);//文字列の最初0として数えて2つ目(は)から3文字抜き出す。
const cutChar2 = chr6.charAt(9);//文字列の最初0として数えて9つ目の文字(明)を抜き出す
console.log(charLen);
console.log(cutChar1);
console.log(cutChar2);

上述のコードの解説

  1. constで宣言した変数 chr6 に文字列「今日は晴れだった。明日はどうだろうか?」を代入
  2. constで宣言した変数 charLen に文字列chr6の長さを代入
    console.log(charLen);でコンソールに出力した結果 ⇒ 19 であることを確認
  3. constで宣言した変数 cutChar1 にchr6の文字列から.substr(2,3);メソッドを使って、文字列から「最初の文字を0と数えて2番目の文字から3文字分」を抜き出し代入
    console.log(cutChar1);でコンソールに出力した結果 ⇒ 「は晴れ」 であることを確認
  4. constで宣言した変数 cutChar2 にchr6の文字列から.charAt(9);メソッドを使って、文字列から「最初の文字を0と数えて9番目の文字」を抜き出し代入
    console.log(cutChar2);でコンソールに出力した結果 ⇒ 「明」 であることを確認

 その他の文字列操作メッソッドの詳細は、次の記事を参照ください。

おわりに

 如何だったでしょうか?

 変数のデータ型とはどのようなもの?、文字列型とは?、文字列指定、文字列の結合、エスケープシーケンス、文字列操作メソッドなどについて解説してきました。

 この記事があなたにとって少しでもお役に立てればこれほど嬉しいことはありません。

以上です。

 

コメント