iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Modern Web

Javascript 從寫對到寫好 系列

對我來說,Javascript 是易學難精的程式語言,要寫出基本的功能並不難,但在程式規模愈來愈龐大之後,才會感受到許多困難:「程式改 A 壞 B」、「網頁跑好慢」、「同事看不懂我在寫什麼QQ」,大多發生在學習 Javascript 之後 2~3 年,基於 Javascript 是一個獨特古怪的語言,從寫「對」到寫「好」,是一趟漫長的旅程。

由於重點放在「寫好 Javascript」,因此不會有基礎語法教學,但會講到「clean code」、「非同步的核心與脈絡」甚至「code review」等主題,讓自己成為更好的 developer 吧!

鐵人鍊成 | 共 30 篇文章 | 61 人訂閱 訂閱系列文 RSS系列文 團隊鐵人賽臻融一
DAY 11

Day 11 - OOP 初探 (1) - Closures 與繼承鏈

前言 在學習 FP 的過程中,會看到 FP 常常被拿來跟 OOP 做比較,那 OOP 究竟是什麼呢?它們是對立關係只能選一種用嗎?誰比較有優勢呢? 今天會先簡單...

2021-09-26 ‧ 由 ycchiuuuu 分享
DAY 12

Day 12 - OOP 初探 (2) - Class

前言 昨天講完 Javascript OOP 兩個重要支柱,今天接著這個主題,來講講 class 吧! Class(類別) Class 可以想像成印章,每壓一下...

2021-09-27 ‧ 由 ycchiuuuu 分享
DAY 13

Day 13 - OOP 初探 (3) - 實戰地圖遊戲

前言 跟 FP 一樣,OOP 到目前已經第三天了,我們來點實戰吧! 今天的實戰很特別啊,基本上是工作派不上用場的程式,但因為我不知為何靈光一閃,覺得寫這種東西很...

2021-09-28 ‧ 由 ycchiuuuu 分享
DAY 14

Day 14 - Asynchronous 非同步核心

前言 非同步一直是困擾著 Javascript 新手的小魔王,以前常常會有「為什麼這行先跑到沒有先執行?」這種困擾。 隨著時間過去,踩了幾次 bug,也漸漸抓到...

2021-09-29 ‧ 由 ycchiuuuu 分享
DAY 15

Day 15 - Asynchronous 非同步進化順序 - Callback 與 Promise

前言 在上一篇文章中,我們深入了解 Javascript 非同步的核心,到底在背景做了哪些事,才構成了我們實際看到的畫面。 今天讓我們來了解一些常見的非同步操作...

2021-09-30 ‧ 由 ycchiuuuu 分享
DAY 16

Day 16 - Asynchronous 非同步進化順序 - Async/Await

前言 昨天聊了 callback 與 Promise,是如何過關斬將,不斷克服障礙走到 ES6。 然而只要程式規模不斷擴張,就永遠會有更高階的需求產生,讓我們繼...

2021-10-01 ‧ 由 ycchiuuuu 分享
DAY 17

Day 17 - Error Handling 錯誤處理

前言 錯誤處理往往是最容易被忽略的一塊,因為 程式運行順利,那當然不用考慮 error case 程式被測出 bug,通常是程式碼裡面有問題,QA 會催著你趕...

2021-10-02 ‧ 由 ycchiuuuu 分享
DAY 18

Day 18 - 未知與空值 undefined、null、NaN

前言 今天來討論另一個容易被忽略的主題,如果要表達「有值」的情況,大家都很熟悉: const score = 95; const name = 'Joey';...

2021-10-03 ‧ 由 ycchiuuuu 分享
DAY 19

Day 19 - 相等判斷與型別轉換

前言 昨天我們介紹了 undefined、null、NaN,也帶到了如何將這些特別的值判斷出來。 今天我們要來看更多,更多這些會讓人感到困惑的判斷式,以及它們在...

2021-10-04 ‧ 由 ycchiuuuu 分享
DAY 20

Day 20 - OR、AND 的活用方式與短路取值

前言 今天來介紹我個人很常用的小撇步,關於 OR (||) 與 AND (&&),除了很單純用來判斷回傳布林值,同時也可以拿來賦值哦! 但同時,...

2021-10-05 ‧ 由 ycchiuuuu 分享