LoginSignup
4
2

More than 3 years have passed since last update.

【Q&A】TypeScript / var let const の違い 使い分け

Last updated at Posted at 2020-11-28

var/let/constとは?

変数を宣言する際に使うキーワード。

何がいいのかというと
『let』と『const』により、変数の値を意図せず上書きしたり、間違って同じ名前の変数を宣言してしまうようなバグを防止できるようになりました。

varを使う必要性が感じないのは私だけですかね??

varとは

varでは再宣言、再代入が可能です。

var test = '初期値';
test = '再代入OK';
var test= '再宣言OK';

追記:varを使わないと行けないときは、JavaScriptの実行環境がかなり古い場合。

昔のJSにはconstやletはなく、varしかありませんでした。
なのでTypeScriptのように
JavaScriptにトランスパイルする言語では使うことはまず無いですmm

letとは

letでは再宣言が禁止

let test= '初期値OK';
test= '再代入OK';
let test= '再宣言NG';

constとは

constでは、再宣言、再代入が禁止=定数

const test = '初期値OK';
test= '再代入NG';
const test= '再宣言NG';

まとめ

再代入が必要な時は、『let』
定数にしたいなら『const』

スコープの範囲について

let

下記のようにletを使用すると、ブロックの中と外で同じ変数名でもスコープを分けてくれます。

let a = 'イエス ブロック!';
var b = 'ノー ブロック!';

if(true){
    let a = 'YES BLOCK!';
    var b = 'NO BLOCK!';
    console.log(a);//YES BLOCK!
    console.log(b);//NO BLOCK!
}

console.log(a);//イエス ブロック!
console.log(b);//NO BLOCK!

const

const a = '定数';
if(true){
const a = 'YES CONST!';
console.log(a);//YES CONST!
}
console.log(a);//定数

次回は''と""の違いがよくわからなかったので解説します。
Java出身なので「文字列は""」って認識が抜けなくて。。。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2