--- title: 練習 - 型別與宣告 tags: JS 直播班 - 每日練習 --- 練習 - 型別與宣告 ==== 問題一 --- 以下變數 a, b, c, d, e, f 它們的值、型別各自為何? (請先想想看,不要用 console.log 檢查) ```javascript= let a = "10" + "10"; // 1010, string // 字串與字串相加,型別為字串 let b = "10" * "10"; // 100, number // 字串無法相乘,自動轉型成number後相乘 let c = 10 + "10"; // 1010, string // 數字與字串相加,型別為字串 let d = 10 * "10"; // 100, number // number與字串無法相乘,自動轉型成number後相乘 let e = 10 - "2"; // 8, number // number與字串無法相減,自動轉型成number後相減 let f = "10" - "2"; // 8, number // 字串無法相減,自動轉型成number後相減 ``` 問題二 --- 請問以下題項哪些是有問題的,並說明為什麼。 ```javascript= // 1 let myName = "jay"; // 2 var _state = true; // 3 let true = true; // 變數無法用保留字true命名 // 4 const 520Pretty = 520; // 變數無法用數字開頭命名 // 5 const appleNum = 10; appleNum = 2; // const變數宣告後,無法重新賦予值 // 6 var ming ='小明'; var ming = '小民'; // var變數可重覆宣告 // 7 const ming = '小明'; const ming = '小民'; // const變數在同一作用域,無法重複宣告 // 8 let ming = '小明'; let ming = '小民'; // let變數在同一作用域,無法重複宣告 // 9 let ming = '小明'; ming = '小民'; // 10 let $open = "芝麻開門'; // 字串前後單引號或雙引號要相同 ```