JavaScript講座

変数とデータ型

変数

実習用ファイル

変数とはデータの入れ物(箱)である。Excelにおけるセルに相当する。

変数の宣言

let 変数名;

  • letの代わりにconstを用いると値の再代入が出来なくなる(定数)。
値の代入

変数名 = 値;

変数の出力
document.write('文字列' + 変数名 + '文字列);
※文字列の結合は+
ABCDE
1ab足し算
211
3
<script>
let a=0, b=0, add=0;
a=5;
b=6;
add = a + b;
</script>
(参考)変数をフォームから取得する(cf.HTMLの操作)
a

A2…<input id="A2">

document.getElementById('A2').value

const a = parseInt(document.getElementById('A2').value);
  • document.getElementById()は要素全体。そこに入力された値は.value
  • parseInt(char_num)…文字を数値に変換する(cf.ExcelのVALUE関数)

コーテーションマーク

ダブルコーテーションとシングルコーテーション
JavaScriptにおいては両者は差はない
ただhtmlはダブルコーテーションを多用するので、バッティングしにくいシングルコーテーションが好まれる。
エスケープ

htmlのダブルコーテーションとJavaScriptのダブルコーテーションがバッティングするときにはhtmlのダブルコーテーションの前にエスケープ文字(\)を置く

JavaScriptがわでシングルコーテーションを使うときには問題ない

var2.html
<!DOCTYPE html>
<html lang="ja">
<head>
   <meta charset="UTF-8" />
   <title>ダブルコーテーションとシングルコーテーション</title>
</head>
<body>
<h1>ダブルコーテーションとシングルコーテーション</h1>
<script>
var str = '文字列';
document.write('<p class="test">' + str + '</p>');
document.write('<p class="test">str</p>');
document.write("<p class=\"test\">str</p>");
</script>
</body>
</html>

データの型

型変換
let str = '2';
let number1 = 2;
let number2 = 1;
number1 + number2は数値型(出力結果は3)
str + number1は文字列型(出力結果は21)
var3.html
<!DOCTYPE html>
<html lang="ja">
<head>
   <meta charset="UTF-8" />
   <title>データの型</title>
   <script>
var today = new Date();
var today_date = today.getDate();
var today_month = today.getMonth();//月は0~11で出力される。ここでは数値型
var today_year = today.getFullYear();
   </script>
</head>
<body>
<script>
document.write('<p>今日は' + today_year + '年' + today_month + 1 + '月' + today_date + '日です(today_monthはこの段階では文字列型に変換済み、ゆえに21月などと表示される)</p>');
document.write('<p>今日は' + today_year + '年' + (today_month + 1) + '月' + today_date + '日です(today_monthを数値型のまま先に計算)</p>');
</script>
</body>
</html>
弱いデータ型
JavaScriptでは変数のデータ型は自動的に変換されるので余り意識しなくても使える(Excelに近い)。
強いデータ型
変数がどのデータ型なのかをあらかじめ宣言して使用する必要がある言語もある(Accessに近い)。