INDEX
はじめに
typescript の学習を始めた時に、コードを見てver/let/constの違いが分かりませんでした。
色々調べてver/let/constの違いを理解したので、執筆しします。
それぞれの違いは、再代入と再宣言が可能かどうかになります。
| | | |
---|
変数宣言 | 意味 | 再代入 | 再宣言 |
var | varible(変数) | 〇 | 〇 |
let | let it be (あるがままに) | 〇 | × |
const | constant (定数) | × | × |
解説
varible (変数)とは
下記の表の通りになります。
| | | |
---|
宣言 | 意味 | 再代入 | 再宣言 |
var | varible(変数) | 〇 | 〇 |
再代入
varの再代入についてコードとともに確認します。
// 初回宣言
var price = 100;
console.log(price);
// 再代入
price = 120;
console.log(price);
出力結果を確認します。
varの再代入が可能である事が確認出来ました。
再宣言
varの再宣言についてコードとともに確認します。
// 初回宣言
var price = 100;
console.log(price);
// 再宣言
var price = 200;
console.log(price);
出力結果を確認します。
varの再宣言が可能である事が確認出来ました。
let it be (あるがままに)とは
下記の表の通りになります。
| | | |
---|
宣言 | 意味 | 再代入 | 再宣言 |
let | let it be (あるがままに) | 〇 | × |
再代入
letの再代入についてコードとともに確認します。
// 初回宣言
let price = 100;
console.log(price);
// 再代入
price = 120;
console.log(price);
出力結果を確認します。
letの再代入が可能である事が確認出来ました。
再宣言
letの再宣言についてコードとともに確認します。
// 初回宣言
let price = 100;
console.log(price);
// 再宣言
let price = 200;
console.log(price);
letを使って同じ変数を再宣言している
error TS2451: Cannot redeclare block-scoped variable 'price'.
constant (定数)とは
下記の表の通りになります。
| | | |
---|
宣言 | 意味 | 再代入 | 再宣言 |
const | constant (定数) | × | × |
再代入
constの再代入についてコードとともに確認します。
// 初回宣言
const price = 100;
console.log(price);
// 再代入
price = 120;
console.log(price);
constで定義している変数に対して再代入が発生している
error TS2588: Cannot assign to 'price' because it is a constant.
再宣言
constの再宣言についてコードとともに確認します。
// 初回宣言
const price = 100;
console.log(price);
// 再宣言
const price = 200;
console.log(price);
constを使って同じ変数を再宣言している
error TS2451: Cannot redeclare block-scoped variable 'price'.