Skip to main content

Command Palette

Search for a command to run...

Series

JavaScript

  1. JS: Barrel file隱含的問題

    以前實習時候學到用barrel file管理模組,因為可以讓模組管理變得很一目了然、import的時候可以一行引入多個模組,所以工作後仍持續使用barrel file,結果後來才發現barrel file其實藏有蠻多潛在問題: 降低開發體驗 以Vite開發模式來說,即便只引用barrel file內其中一個模組,Vite在初始化的時候需要時間去解析和轉換barrel file裡面所有export出

    Feb 23, 20262 min read
  2. JS: 取得使用者定位

    因為工作都是在做地圖相關的web,很常需要取得使用者定位的功能;但如果直接使用瀏覽器原生的 Geolocation API,可能會碰到使用者拒絕定位存取權後,程式端無法再次詢問定位存取權的問題。 爬了一下文章,無法靠程式去修正使用者端瀏覽器的定位存取權設定,得靠使用者自己重新開啟應用的定位權限;但有時候會碰到使用者想要時而拒絕、時而開啟的問題,頻繁要求使用者開啟關閉存取權可能也會導致使用者體驗下降

    Oct 24, 20241 min read9
  3. JS: OOP - Static Members

    「Member」是屬性(property)和方法(method)的代稱,這篇會以ES6 Class的類別語法為主來解釋靜態屬性和靜態方法。 Static Property & Static Method 一般程式語言物件導向中的靜態屬性和靜態方法是不可被instance使用和呼叫,也不能使用 this 關鍵字,靜態方法中也不能使用非靜態屬性(instance屬性)。 在JavaScript裡,靜態屬性和靜態方法是隸屬constructor,不過比較特別的是,JavaScript的靜態方法內...

    Sep 3, 20231 min read3
  4. JS: OOP - Introduction

    物件導向(Object oriented programming)是一種寫程式的典範(paradigm),程式典範指的是一種程式碼風格以及如何組織程式碼。 一般而言,物件導向有四大原則,分別是: Abstraction 抽象:不用知道細節,只需要知道功能; Encapsulation 封裝:主要是用來避免私有(private)變數或方法意外從外部改動; Inheritance 繼承 Polymorphism 多型:多型的原意是多種形狀,意思是父類別可被多種不同型態的子類別繼承;此外,子類別可覆...

    Sep 3, 20232 min read5
JavaScript