今天同事提到一個問題,說他看到客戶用 JavaScript 的 <
或 >
來比對日期字串,但我們要將這份邏輯移到後端 Java 應用程式中,由於 Java 沒看到類似的語法,雖然知道有 Java 字串有個 compareTo()
方法可用,但不知道差異在哪裡,也深怕有個未知的地雷會踩到。因為這個需求,我今天寫了 4 種不同程式語言的字串比對差異比較,看的懂程式碼的話,未來應該就知道這幾種語言字串比對的差異在哪裡了。
... 繼續閱讀 ...
我們都知道 JavaScript 物件建立的過程,大多都不需要事先設計「藍圖」就可以建立「物件」,不像 C#
或 Java
等強型別語言,需要先設計「藍圖」(也就是類別),才能產生物件。在 ES2015 出來之前,並沒有 class
語法,而是使採用以原型為基礎的物件導向設計模式 (Prototype-based OO)。本篇文章將介紹幾種在 JavaScript 裡面建立物件藍圖的方式。
... 繼續閱讀 ...
在 JavaScript 的型別系統中,數值型別(Number)應該是數一數二的地雷型別。今天這篇文章,我想來深度探討 Number 型別的各種魔鬼般的細節,也談談 Number 的常見地雷與建議作法。
... 繼續閱讀 ...
現在日常的 JavaScript 已經完全離不開 TypeScript 了,在強型別的保護下,不但不容易寫出錯誤的代碼,還能透過開發工具提供的 IntelliSense 提高開發速度。但是如果手邊的程式碼只能使用 JS 來撰寫,那該怎麼辦呢?像是 Protractor 的設定檔 protractor.conf.js
就是一個典型的例子,本篇文章我將分享如何在現有 JavaScript 檔案下使用 TypeScript 的型別檢查提示。
... 繼續閱讀 ...
網站建置不是件簡單的事,我們都知道網站做好之後,有好多細節需要兼顧,所以許多公司花了大量的時間與金錢,耗用人力對維護中的網站進行不斷的、重複的人工測試,想達到的目的不外乎是希望網站不要出錯,可以給客戶/使用者最好的網站使用體驗。但你是否知道單元測試、整合測試、端對端測試之間的差異在哪裡?本篇文章將闡述他們之間不同的部分。
... 繼續閱讀 ...
最近推出的 Angular CLI 7.3 版本,新增了一個相當亮眼的特性。當你的 Angular 應用程式同時要符合 IE 或舊版瀏覽器時,以往都會用 Polyfill 來填充缺少的 HTML5/JS APIs,但這件事到了 Angular CLI 7.3 又變得更貼心了。不但如此,這個新特性一樣可以用在各種 SPA 框架中,像是 Vue, React 或其他函式庫也都可以套用相同技巧。欲知詳情請繼續看下去。
... 繼續閱讀 ...
在 2019 的今天,還有多少人在使用傳統前端技術在開發 Web 應用程式?撇除市面上知名的 SPA 框架不說,就算你公司內部還在使用 jQuery 開發網頁,你依然可以將自己升級到使用現代化前端技術的前端工程師。今天這篇文章,將分享如何將現有傳統網站逐步升級,改用如 ES6 / ES2015 等語法,以及透過好用的模組打包工具(module bundler)將全新的 JS 語法轉譯為舊版瀏覽器也能執行的 JS 語法。
... 繼續閱讀 ...
這陣子花了一些時間研究 Unicode 萬國碼,看著看著就研究起 Emoji 表情圖示來了。過程中還跑去看了 Unicode® Emoji 官方規格,要是沒有先建立對 Unicode 的理解,要完全看懂 Emoji 的來龍去脈是不太容易的。研究的過程中,還發現了一些有趣的冷知識,欲知詳情請繼續看下去! 😉
... 繼續閱讀 ...
最近有個案子需要設法過濾表單中輸入的文字,有些欄位只能輸入英數字,有些則必須自動轉全形文字,還有些只能輸入中文,有些不允許輸入標點符號。這個需求照理說很簡單,透過 Regular Expression 一下子就可以達陣,但是光是完成這功能實在太無趣了,所以晚上徹底的研究並整理所有的 Unicode 編碼,發現許多有趣的冷知識。
... 繼續閱讀 ...