JS: polyfill vs. shim vs. transpiler
先來看一下MDN對於polyfill的定義: A polyfill is a piece of code (usually JavaScript on the Web) used to provide modern functionality on older browsers that do not natively support it. Polyfill是由Remy Sharp所創造的名
Search for a command to run...
Series
先來看一下MDN對於polyfill的定義: A polyfill is a piece of code (usually JavaScript on the Web) used to provide modern functionality on older browsers that do not natively support it. Polyfill是由Remy Sharp所創造的名
以前實習時候學到用barrel file管理模組,因為可以讓模組管理變得很一目了然、import的時候可以一行引入多個模組,所以工作後仍持續使用barrel file,結果後來才發現barrel file其實藏有蠻多潛在問題: 降低開發體驗 以Vite開發模式來說,即便只引用barrel file內其中一個模組,Vite在初始化的時候需要時間去解析和轉換barrel file裡面所有export出
因為工作都是在做地圖相關的web,很常需要取得使用者定位的功能;但如果直接使用瀏覽器原生的 Geolocation API,可能會碰到使用者拒絕定位存取權後,程式端無法再次詢問定位存取權的問題。 爬了一下文章,無法靠程式去修正使用者端瀏覽器的定位存取權設定,得靠使用者自己重新開啟應用的定位權限;但有時候會碰到使用者想要時而拒絕、時而開啟的問題,頻繁要求使用者開啟關閉存取權可能也會導致使用者體驗下降
「Member」是屬性(property)和方法(method)的代稱,這篇會以ES6 Class的類別語法為主來解釋靜態屬性和靜態方法。 Static Property & Static Method 一般程式語言物件導向中的靜態屬性和靜態方法是不可被instance使用和呼叫,也不能使用 this 關鍵字,靜態方法中也不能使用非靜態屬性(instance屬性)。 在JavaScript裡,靜態屬性和靜態方法是隸屬constructor,不過比較特別的是,JavaScript的靜態方法內...
接續上一篇的物件導向介紹的OOP基本介紹,這篇說明Object.create、contstructor function和ES6 class語法如何建立prototypes(原型)之間的繼承關係,形成所謂的原型鏈(prototype chain) Object.create 複習一下,Object.create方法暗地裡其實就是用來鏈結某東西與prototype之間的關係,例如前一篇是用 const jeck = Object.create(UserProto),讓物件jeck可以繼承Use...
物件導向(Object oriented programming)是一種寫程式的典範(paradigm),程式典範指的是一種程式碼風格以及如何組織程式碼。 一般而言,物件導向有四大原則,分別是: Abstraction 抽象:不用知道細節,只需要知道功能; Encapsulation 封裝:主要是用來避免私有(private)變數或方法意外從外部改動; Inheritance 繼承 Polymorphism 多型:多型的原意是多種形狀,意思是父類別可被多種不同型態的子類別繼承;此外,子類別可覆...