JavaScriptはなぜ「型なし言語」と呼ばれるのか?変数宣言の基本を解説
JavaScriptは型なし言語(動的型付け言語)に分類されます。これは、変数がどのようなデータ型の値でも保持できることを意味します。C言語やC++、Javaのように、intやcharといったデータ型をあらかじめ指定する必要はありません。
JavaScriptにおける変数の特徴
CやJavaなどの静的型付け言語では、変数を宣言する際にその型を明示する必要があります。しかしJavaScriptでは、変数には数値でも文字列でも、さらにはオブジェクトや関数など、どんな値でも自由に代入できます。同じ変数に対して、後から別の型の値を代入し直すことさえ可能です。
varキーワードによる変数宣言
従来のJavaScriptでは、変数を宣言する際に var キーワードを使用していました。数値であっても文字列であっても、宣言方法は同じく var を使います。
次のコードを実行して、JavaScriptでの変数宣言の方法を確認してみましょう。
サンプルコード
<html>
<body>
<script>
<!--
var age = 20;
if( age > 18 ) {
document.write("<b>Qualifies for driving</b>");
}
//-->
</script>
</body>
</html>
この例では、変数 age に数値の 20 を代入しています。age が18より大きいため、「Qualifies for driving(運転資格あり)」というメッセージが太字で表示されます。変数 age の型を事前に宣言していない点に注目してください。これこそが、JavaScriptが型なし(動的型付け)言語と呼ばれる理由です。
現代のJavaScriptではlet・constが推奨される
なお、近年のJavaScript(ES2015以降)では、var の代わりに let(再代入可能な変数)と const(再代入不可の定数)を使うことが推奨されています。これらはブロックスコープを持つため、予期しないバグを防ぎやすくなります。
const age = 20;
if (age > 18) {
console.log("運転資格があります");
}
ただし、いずれのキーワードを使った場合でも、変数に型を指定する必要がないという点は変わりません。この柔軟性こそが、JavaScriptの大きな特徴の一つと言えるでしょう。
-
JavaScriptで日付が週末(土日)かどうかを判定する方法
JavaScriptでは、getDay()メソッドを使うことで、指定した日付の曜日を数値として取得できます。戻り値は0(日曜日)〜6(土曜日)となっており、この値を利用すれば、その日付が週末に該当するかどうかを簡単に判定できます。週末判定の基本的な考え方まず、対象となる日付オブジェクトを作成します。var givenDate = new Date(2020-07-18);次に、getDay()メソッドで曜日の数値を取得します。var currentDay = givenDate.getDay();取得した値が 6(土曜日) または 0(日曜日) のいずれかであれば、その日は週末であると判断でき
-
JavaScriptでランダムなパスワードジェネレーターを作成する方法
JavaScriptでパスワードジェネレーターを作成するには、Math.random()メソッドを活用するのが簡単で効果的です。Math.random()は0以上1未満の乱数を返すため、これを使って文字コレクションからランダムに文字を選び出し、任意の長さのパスワードを生成できます。 パスワード生成の仕組み 基本的な流れは以下の通りです。 使用する文字(大文字・小文字のアルファベットと数字)を1つの文字列として定義する Math.random()に文字数を掛け、Math.floor()で整数に変換してインデックスを求める 指定された長さになるまでループ処理で文字を連結していく サンプルコード