請啟用 Javascript 查看內容

JS 學徒特訓班 - JS 函式 36 ~ 40 關

 ·  ☕ 2 分鐘

竹白的 JS 學徒特訓班筆記 - 目錄

記錄六角學院所開的 JS 學徒特訓班,為期 60天的特訓。

第三十六關:ES6 起步走 - Template String 樣板字串

題目連結

36. 問題

第 20 關 用 Template String 樣板字串來改寫。

如果你已經早就會 ES6 字串處理,請觀看以下文章,挑選一個你不會的技術觀念,並分享你學到了什麼

36. 參考解答

略。

第三十七關:let、const

題目連結

37. 問題

還請挑戰者們分享你找到的 JS ES6 let 與 const 文章,補充在下方列表,並嘗試自己寫一些範例,並回報於 Slack 上

37. 參考解答

變數

第三十八關:let 與 const 觀念複習

題目連結

38. 問題

請在 Slack 回覆以下的解答,以及解釋為什麼?
同時附上你找到的文章,條列在最下方

問題一:

請問下面會出現的 console 是?

1
2
console.log(a); //ReferenceError
let a = 10;

問題二:

以下是否會正常執行?若不會,會顯示什麼紅字錯誤?

1
2
let a = 1;
a = 3;
1
2
let b = 1;
let b = 2;
1
2
const c = 3;
c = 4

問題三:此為熱門面試題目(選答)

請問 varletconst 的區別是?

38. 參考答案

問題一:

1
2
3
console.log(a);
// Uncaught ReferenceError: Cannot access 'a' before initialization
let a = 10;

let 在正式值行前,變數不會賦值,因在沒值的狀況下被存取就會拋出錯誤。

問題二:

第一個正常執行。

重複宣告:

1
2
3
4
let b = 1;
let b = 2;

// Uncaught SyntaxError: Identifier 'b' has already been declared

const 重新賦值:

1
2
3
4
const c = 3;
c = 4

// Uncaught TypeError: Assignment to constant variable.

問題三:

  • var:函式作用域、可重複宣告、會汙染全域物件。
  • varlet:區塊作用域、無法重複宣告、不會汙染全域物件。
    • const:無法再次賦值

第三十九關:箭頭函式(arrow function)

題目連結

39. 問題

  1. 如果你是初學者,請回傳第 18 關的 forEach ,改用箭頭函式的寫法來撰寫
  2. 假使你已經會箭頭函式,請分享 arrow function 會如何影響到 this

39. 參考答案

略。

第四十關:ES6 團戰關卡

題目連結

40. 問題

  1. 請挑選 20、35 關的其中一關,改為 ES6 寫法
  2. 程式碼必須使用到 ES6 的 36~39 關的技術,例如字串符、letconst、箭頭函式
  3. 如果你的 Code 早就已經改寫為 ES6 寫法,以下面試題目請挑選一題來解釋,並下方附上你的 HackMD 文章
    • 請解釋什麼是 this?請寫範例解釋?
    • 你對 promisepromise all 有多熟悉?請寫範例解釋?
    • 什麼是原型繼承(prototype)?
    • Fetch 與 XMLHttpRequest

40. 參考答案


竹白
作者
竹白
前端筆記

文章目錄