iT邦幫忙

2021 iThome 鐵人賽

DAY 2
0
自我挑戰組

重新學 JavaScript系列 第 2

JavaScript - let, var, const 宣告練習題目

今日直接先寫一點基本的練習題目

JavaScript 註解方式

// 兩個斜線為單行 JavaScript 註解

/*     JavaScript 
       的多行註解
*/

使用 let, var, const 作變數宣告

let a = 1 + "Hi Hi ~";
let b = 1 * "Hello World";
let c = 5 > 1;
let d = 1 < 5;
let e = '單引號也可以使用表示這行為字串';
  1. 常數宣告,在JS,常數宣告的值不可再被改變。 所以會出現錯誤訊息 TypeError: Assignment to constant variable.

  2. 因為使用 const, let 來宣告的變數名稱不可以再被重新宣告(reassign),重複宣告會出錯: SyntaxError: Identifier 'myEmail' has already been declared
    若是用 var 宣告,則 var student ="xx"的值會被後面宣告 var student = "kk"; 的值覆寫掉。

//1  常數宣告
const PI = 3.14;
PI = 3333333;  //TypeError: Assignment to constant variable.

//2
const myEmail = "ak@xxx.com";
const myEmail = "ak@xxxdx.com.tw"; //SyntaxError: Identifier 'myEmail' has already been declared


var student = "ak";
var student = "kk";
  1. 若在瀏覽器中的全域物件(window 物件)中找不到變數,那JS會在全域物件(window物件)中宣告一個變數給ntd, 因此在瀏覽器中 可以印出 ntd(window.ntd 已處在全域環境中,window 可以省略) 就等於 30000。

在文字編輯器要印出 window物件,會顯示 window is not defined 的錯誤, 在server 端執行環境 - node.js 的全域物件是 global,所以要寫成 global.ntd,在文字編輯器中就可以執行。

//3
let usd = 20000;
ntd = 30000;
console.log("ntd: " + window.ntd);            //"ntd: 30000"
global.console.log("ntd: " + global.ntd);    //global is not defined 
console.log(ntd);
  1. 因為 const 是JS 的 keyword , 所以會出現 Unexpected token 'const' 的錯誤,可參考查詢 JavaScript Reserved Words。
//4
let const = const;  // Unexpected token 'const'
  1. JavaScript 宣告規則中其中一條就是不可以以數字開頭作為變數
//5
const 112315664523 = 123;
//SyntaxError: const 112315664523 = 123;const 112315664523 = 123;



上一篇
關於接下來的30天
下一篇
JavaScript 的分號 ; (Semicolons) - 未完
系列文
重新學 JavaScript17

尚未有邦友留言

立即登入留言