JavaScriptでカレンダー作成

この記事は2分で読めます

html



js



css



メモ

①varとletの違い



一言で言うと、変数のスコープがブロックスコープか関数スコープかの違いです。
letを使った場合、ブロックレベルで変数のスコープが定義されるため、以下の例のように1,2,1と表示されます。


●「変数を宣言する:とは
・ざっくりですが値を格納するための領域を確保する
・変数を利用するための宣言

●varとletの違い
letの方がES2015という最近追加された機能で、letの方がコードの保守性が良いように思います。

①変数の重複許容について
varは変数の重複を許容しますが、letは許容しません。
var hensuu = “変数1”;
var hensuu = “変数2”;
console.log(hensuu); //変数2と表示。最初の宣言は上書きされる。

let hen = “へんすう1”;
let hen = “へんすう2”;
console.log(hen); //エラーになる(Idemtifer ‘hennsuu’ has already been declard)
letを使った方が同じ名前の変数をうっかり使ってしまい、変数が予想外のものになったり、バグが発生しにくいと言えます。

②変数の有効範囲(ブロックスコープの認識)について
letの方がより細かく変数の有効範囲を管理できます。
varだと、if文でブロックを抜けた後でも、変数が有効になる
if (true) {
var i = 1;
}
console.log(i); //1と出力

letだと、ちゃんとスコープを認識する。
if (true) {
let i = 2;
}
console.log(i); //変数iはスコープ外なのでエラーになる。

jsには、ブロックレベルのスコープが存在しない。(javaやphpにはある)
varだとブロックスコープを認識しない。ブロックを抜けても変数が有効になうr.
一方、letはより細かく変数の有効範囲を管理できる。(letはブロックスコープを認識する)

●まとめ
varとletならletを使った方が安心だが、
letはES2015から利用できるので、環境を確かめてから使うべき。

②jsの演算子



この章では、JavaScript 言語のすべての演算子、式、キーワードについて文書化しています。
1. 基本式
this 関数の実行コンテキストを参照する
class クラス式も定義する

2. 左辺式
new new演算子は、コンストラクタのインスタンスを作成する。
new.target コンストラクタ内でnew.targetを使うことで、newによって呼び出されるコンストラクタを参照できる。

3. インクリメントとデクリメント

4. 単項演算子
void 式の戻り値を破棄する
typeof 与えられたオブジェクトの型を判別する

5. 算術演算子

6. 関係演算子
instanceof オブジェクトが別のオブジェクトのインスタンスかどうかを判別する

7. 等価演算子
8. ビットシフト演算子
9. バイナリビット演算子
10. バイナリ論理演算子
11. 条件(三項)演算子

12. 代入演算子
+= 加算値を代入する
-= 減算値を代入する

13. カンマ演算子
14. 非標準の機能

  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

管理人紹介


21世紀、より良い人生を歩むための個人事業主による備忘録メモです。固定観念にとらわれず、日本や世界の深淵に触れ、自由快適な人生を歩んでいく事を大切にしています。