原创 來一個老生長談的話題,Javascript 中,數組如何去重?

關於如何去除一個給定數組中的重複項,應該是 Javascript 面試中最常見的一個問題了,最常見的方式有三種:Set、Array.prototype.filter 以及 Array.prototype.reduce,對於只有簡單數據的數組

原创 在 React 應用中使用 Hooks 與 Context 替代 Redux 狀態管理

React Hooks 在 2018 年年底就已經公佈了,正式發佈是在 2019 年 5 月,關於它到底能做什麼用,並不在本文的探討範圍之內,本文旨在摸索,如何基於 Hooks 以及 Context,實現多組件的狀態共享,完成一個精簡版的

原创 setTimeout 或者 setInterval,關於 Javascript 計時器:你需要知道的一切都在這裏

先來回答一下下面這個問題:對於 setTimeout(function() { console.log('timeout') }, 1000) 這一行代碼,你從哪裏可以找到 setTimeout 的源代碼(同樣的問題還會是你從哪裏可以看到

原创 積極使用解構賦值以及箭頭函數提升 Javascript 表現力

本文列舉了一些日常會使用到的 Javascript技巧,可以明顯提升代碼的表現力。 解構賦值 首先,我們來看一下下面這段代碼: const animal = { type: { mammal: { bear: {

原创 微信小程序 webview 與 h5 實時通訊的實現

在做 React Native 應用時,如果需要在 App 裏面內嵌 H5 頁面,那麼 H5 與 App 之間可以通過 Webview 的 PostMessage 功能實現實時的通訊,但是在小程序裏面,雖然也提供了一個 webview 組件

原创 在 iOS 與 Android 上實現 React Native 應用的嘗試鏈接

原文:https://pantao.parcmg.com/press/react-native-deep-linking-for-ios-android.html代碼:https://github.com/pantao/react-nati

原创 爲什麼 ['1', '7', '11'].map(parseInt) 的結果是 [1, NaN, 3]?

原文:https://pantao.parcmg.com/press/parseint-mystery.html Javascript 總是以超自然的方式執行我們的代碼,這是一件很神奇的事情,如果不行的話,思考一下 ['1', '7', '

原创 2019 最新 React-Native/TypeScript/Redux/Saga 實踐

最近研究 React Native、Redux Saga 以及 TypeScript 相關的內容,整理成了一個 React Native Template,可以直接使用下面的命令創建一個新的應用: react-native init MyA

原创 基於 TypeScript 開發 NPM 模塊

初始化 NPM 項目 mkdir project-name cd project-name npm init 添加開發基礎包 添加 TypeScript yarn add typescript -D 添加 Jest 測試工具 yarn ad