Part3:基本データ型

海未「それでは今回は、JavaScriptのデータ型について見てみましょう」

海未「JavaScriptのデータ型は大きく基本データ型(プリミティブ型)とオブジェクト型に分かれます。今回は基本データ型の話をしますね」

  • 真偽値(Boolean)
  • null
  • undefined
  • 数値(Number)
  • 文字列(String)
  • シンボル(Symbol)

海未「以上の6つの型があります。シンボルは、ECMAScript6で追加されたものです」
ことり「ECMAScript6って、新しいのだっけ?」
海未「2015年6月に正式に勧告となり、11月現在普及に向けて動き出した段階、といったところですね」

海未「真偽値は、truefalseかの2値を取る型です。フラグにしたり、条件判定や論理演算などに使います」
穂乃果「これはまあ、そのまんまかな」

海未「nullは、空値を表すデータ型です。値が存在しない状態を示すので、次に出てくるundefinedと混同しないようにしてください」
ことり「これは、nullって書けばいいのかな?」
海未「そうですね。var nico = null;と書けば、明示的に値がないことを示せます」
穂乃果「にこちゃんだって、ちょっとくらいはあるよ?」

海未「undefinedは、値が初期化されていないこと表すデータ型です。これは例えば」

海未「こうすると、undefinedと出力されます」

海未「数値は整数と実数の両方をNumber型で扱います」
穂乃果「小数点以下はあってもなくてもいいんだ」
海未「そうです。書き方は色々あるのですが、まず整数については10進、16進、8進、2進のそれぞれで書くことができます」

海未「これはいずれも10進数の25252です。0xで始まると16進、0oで始まると8進、0bで始まると2進と解釈されます」
ことり「基数の話が出てくると、なんかコンピュータっぽい雰囲気になってくるね」
海未「この8進数の表記ですが、ECMAScript6で標準化されたものですから、環境によってはまだ対応していないかもしれません」

海未「実数、厳密には浮動小数点数は10進数で書きます。普通の数字のように書くこともできますし、指数を使うこともできます」

海未「次は文字列です。文字列は"もしくは'で囲った文字の並びです」

ことり「"'って何か違うの?」
海未「基本的には同じです。ただ、上の例の"μ's"のような場合ですね。文字列の一部にシングルクオートが含まれていますから、これはダブルクオートで括らないといけません」
ことり「そっか、対応関係が変になっちゃうもんね」
海未「これは逆も同じで、文字列の一部にダブルクオートが含まれるなら、それはシングルクオートで括らないといけません」

海未「通常書き表せない特殊文字もあるので、それも見ておきましょう。基本的には\をつかって書きます」

文字 意味
\0 ヌル文字
\b バックスペース
\f 改ページ
\n 改行
\r 復帰
\t タブ
\v 垂直タブ
\’ シングルクオート
\” ダブルクオート
\\ バックスラッシュ

海未「一般的に使うのは改行、シングルクオート、ダブルクオート、バックスラッシュの4つでしょう」
穂乃果「ってことは、\'って書き方を使うと、さっきの"μ's"をシングルクオートで括れるの?」
海未「はい。'μ\'s'と書くことができます。ただ見やすさには難がありますね」
穂乃果「たしかに・・・」

海未「最後はシンボルですね。変更不可能なデータ型です。シンボルを何に使うかは後ほどとして、書き方だけ覚えておきましょう」

海未「このnicomakiは、値の生成の仕方は同じでも必ず違う値になります。あるシンボルの値が他のシンボルの値と同じになることはあり得ないのです」
ことり「定数と違うのかなって思ってたけど、シンボルだと偶然同じ値とかにならないようになってるんだね」
海未「シンボルには名前を付けることもできますが、同じ名前のシンボルであっても値は必ず異なります」

海未「今はプログラム全体を通してユニークかつ不変な値になるという理解でいいでしょう」
ことり「これも新しい機能なんだよね?」
海未「はい。ECMAScript6の新機能ですから、普及はまだまだこれからですね」

海未「これで、基本データ型はおしまいです。次回はオブジェクト型、JavaScriptでは非常に重要な部分の説明をしましょう」


LINEで送る
Pocket


返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です