Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

  1. トップページ
  2. JavaScript入門編 - 文字列と数値と真偽値

文字列と数値と真偽値

みなさまどうもこんにちわ。

続きまして『文字列』とか『数値』とか『真偽値』とか解説していきたいと思います。

文字列に関してはすでにやっていますね。『"』か『'』で文字をくくれば文字列として処理されるというお話でした。ちなみに『文字列』は英語で『String』(ストリング)と表記される場合がありますので覚えておきましょう。

では文字列のお話の中でまだ説明していない『エスケープシーケンス』というものがあったりするので捕捉したいと思います。

『エスケープシーケンス』とは通常の文字列で表記できない文字や記号を特別な文字の並びで表現することを指します。

どういう事かというと、例えば『ラインフィード』(改行文字)はエンターキーを押すだけでは表現できません。実際に試してみましょう。このように

console.log("改行して
表示させるよ!");

エンターキーを押したところでプログラムソースが改行されるだけです。しかもJavaScriptでは文字列の途中に改行を入れることはNGです。このプログラムはエラーとなってしまいます。

そこで登場するのが『エスケープシーケンス』です。『ラインフィード』をエスケープシーケンスで表記すれば問題なく改行させることができます。『ラインフィード』のエスケープシーケンスは『\n』です。

さて、ここでちょっと注意点です。『\』(バックスラッシュ)は他のプログラム言語でもエスケープ文字として使用される文字ですが、これの入力がちょっとややこしいです。

MacOSの方は『option』+『¥』でそのまま入力することができますが問題はWindowsOSの方です。

WindowsOSでは『¥』を押せばバックスラッシュが入力できますが、フォントの都合でバックスラッシュが円記号の『¥』マークで表示されちゃうという大変紛らわしい仕様になっています。要するに『¥』と表示されてはいるものの中身はちゃんとバックスラッシュになっているということです。恐らくこのウェブサイトを見ているWindowsOSユーザーの方はすでに円マークとして表示されてしまっているかと思います。

まあ物は試しというわけで入力してみましょう。

console.log("改行して\n表示させるよ!");

これを実行させてみると

ばっちり改行されていますね。ラインフィードはこのように入力します。

さて続いて『"』や『'』の入力です。

まず最初に解説したいのが『'』を『'』でくくることはできません。同じく『"』を『"』でくくることはできません。

例えば『I'm not HAGE!』という文字列をみてみましょう。文字列の中に『'』がありますね。『"』ではなく『'』でくくって文字列を表記したい場合、そのまま記述すると文字列をくくっている『'』と英語の短縮形で使用している『'』がコンピューターには区別されず、『'』で囲まれていないと判断されエラーとなります。

// これはエラーです
console.log('I'm not HAGE!');

この問題の手っ取り早い解決法方法として、文字のくくりを『'』ではなく『"』の方でくくってしまえば解決することができます。

// これはOKです。
console.log("I'm not HAGE!");

文字列中に『"』が使用されていた場合は逆に『'』でくくればOKです。これはよく使用される手法なので覚えておきましょう。他のプログラム言語でも同じような感じです。

そしてエスケープシーケンスを使用すればまた違った方法で解決することができます。以下の記述をみてください。

// これはOKです
console.log('I\'m not HAGE!');

『'』のエスケープシーケンスは『\'』です。このような感じで『\'』と記述すれば『'』はエスケープされますので『'』でくくることができます。逆に『"』のエスケープシーケンスは『\"』です。『'』と同じような感じですね。これがエスケープシーケンスとなります。

その他のエスケープシーケンスも色々ありますが、頻繁に使用するエスケープシーケンスは『\n』と『\'』と『\"』くらいです。ちなみに『\』を入力したい場合は『\\』と入力すればOKです。

もし他に必要な場合があればネットで検索すれば出てきますのでその都度検索しちゃってください。

続いて『数値』についての解説です。『数値』は英語で『Number』(ナンバー)と表記される場合があります。『String』と同じように仕様書や参考書で出てくるので覚えておきましょう。

JavaScriptでは2進数、10進数、16進数がサポートされています。8進数に関してはほぼ全てのブラウザで動きますがJavaScriptの標準を定めたECMAScriptで公式にサポートされている訳ではありませんのでご注意ください。

JavaScriptは言語の特性上、使用するのはほぼ10進数のみです。私も2進数や16進数を使って実装したことは数えるくらいしかありませんので10進数のみ覚えてしまえばOKです。

10進数とは10になったら繰り上がる数の数え方という意味です。つまりみなさんが普段使っている数字だと思って頂いて問題ありません。

2進法は0,1を用いて2で繰り上がる数の数え方で、 16進数とは0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, Fを用いて16で繰り上がる数の数え方です。

よくRPGゲームなどでキャラクターの最大パラメーターが『255』と設定されているのを見たことがあると思います。これはパラメーターの最大値が16進数で2桁と設定されているという理由からだったりします。 16進法での2桁の最大数値『FF』を10進数で変換すると『255』になるということですね。

10進数を2進数に変換する計算方法は10進数を2で割り、その商をさらに2で割り、さらにその商を2で割り…と商が0になるまで計算しその余りを最後から逆順に並べることで求められたりしますが、面倒くさいのでコンピューターに計算させちゃったほうが楽です。16進数も然りです。っていうかせっかくですのでJavaScriptでブラウザに計算させちゃいましょう。

これで求められます。

var num = 255; //ここに変換したい数字を代入してください。

console.log("2進数: " + num.toString(2));
console.log("16進数: " + num.toString(16));

先程も書きましたがJavaScriptではほぼ10進数しか使わないのでJavaScriptの世界だけならば2進数と16進数は特に覚える必要はありません。

さてでは色々な数値を代入してみましょう。 まず普通の整数を代入します。

var x = 255;

負の数値も使えます。数字の先頭に『-』をつければOKです。

var x = -255;

小数点も使えます。『.』で普通の数学の時のように記述すればOKです。

var x = 3.14;

あんまり使うこともないかと思いますがべき乗も記述できます。まず基数を書き、続いて『e』か『 E』を記述してその次に『+』または『-』を記述、その次に指数という感じで書けばOKです。符号を省略した場合は『+』扱いになります。

// アボガドロ定数
var x = 6.02e23 // 6.02 × 1023

// プランク定数
var y = 6.62606957E-34 // 6.62606957×10-34

べき乗について忘れちゃった方は以下のwikipediaさんのページヘ

http://ja.wikipedia.org/wiki/%E5%86%AA%E4%B9%97

数値の解説はこのくらいでしょうか。今解説したことを覚えておけば何とかなるかと思います。数値の計算や演算については次の記事で解説しますね。

JavaScriptでの整数の数値は『-253』から『253』までの値を取ることができます。

そのまま書くと『-9007199254740992』〜『9007199254740992』となります。

9000兆くらいの数値が取れますのでJavaScriptでの数値の限界は特に気にせず自由に構築できると思います。

続いて『真偽値』(しんぎち)について軽く解説します。真偽値は『Boolean』(ブーリアン)とか『論理値』(ろんりち)とか呼ばれます。これとってもよく使います。大切です。真偽値の解説はif文や比較演算子などとセットで覚えないとどういった使い方をするのか分かりづらいところがありますので今回は触りだけ解説します。

真偽値とは、とある命題が『true』(トゥルー)か『false』(フォルス)を表す値の事です。日本語で訳すと『true』が『真』で『false』が『偽』になります。要するに何か演算をさせてそれが正しければ『true』間違っていれば『false』の値が返ってくるといったところです。

プログラミングで良く使用するif文というものがあります。これはもし○○だったらこの処理で、違っていたらこの処理をする、といったような構文になるのですが、これは真偽値を使って正しいか正しくないか処理を分岐させる流れになります。

今回は代入方法だけチェックしておきましょう。

代入方法は簡単です。『true』か『false』をそのまま記述して代入させるだけになります。

var x = true;
var y = false;

これだけでOKです。文字列ではないので『"』とか『'』でくくらないようにしてくださいね。

var x = "true" // これは『true』という文字列になってしまうので真偽値としてのtrueではないです。

今回の記事は以上です。 真偽値に関しては『true』か『false』を取る、ということだけバッチリ覚えておいて下さい。

ではまたお会いしましょう。

ではでは~。

この記事は桜舞が執筆致しました。

著者が愛する小型哺乳類

桜舞 春人 Sakurama Haruto

ISDN時代から様々なコンテンツを制作しているちょっと髪の毛が心配な東京在住のプログラマー。生粋のロングスリーパーで、10時間以上睡眠を取らないと基本的に体調が悪い。好きなだけ寝れる生活を送るのが夢。ゲームとスポーツと音楽が大好き。誰か髪の毛を分けて下さい。

記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。