Skip to content

billy0402/javascript-practical-modern

Repository files navigation

environment

目錄

  • CH1 ECMAScript 和 JavaScript 的未來
    • 1.1 JavaScript 標準的發展概述
    • 1.2 ECMAScript 是一個持續更新的標準
    • 1.3 瀏覽器支援度和輔助工具
      • 1.3.1 Babel 轉譯器簡介
      • 1.3.2 程式碼品質和一致性與 ESLint 工具
    • 1.4 ES6 中的特徵功能主題
    • 1.5 JavaScript 的未來
  • CH2 ES6基礎元素
    • 2.1 物件實字
      • 2.1.1 特性值指定簡化語法
      • 2.1.2 運算取得的特性名稱
      • 2.1.3 方法的定義
    • 2.2 箭頭函式
      • 2.2.1 語彙範圍
      • 2.2.2 描述箭頭函式的其他方法
      • 2.2.3 優點和使用情境
    • 2.3 解構函式
      • 2.3.1 物件解構賦值
      • 2.3.2 陣列解構賦值
      • 2.3.3 函數參數指定初始值
      • 2.3.4 函式參數解構賦值
      • 2.3.5 解構賦值的使用情境
    • 2.4 其餘參數和展開運算子
      • 2.4.1 其餘參數
      • 2.4.2 展開運算子
    • 2.5 字串樣板
      • 2.5.1 字串插值
      • 2.5.2 多行文字字串樣板
      • 2.5.3 標籤樣板
    • 2.6 let 和 const 敘述
      • 2.6.1 區塊作用域與 let 敘述句
      • 2.6.2 暫時性死區
      • 2.6.3 const 敘述
      • 2.6.4 let 與 const 敘述的優點
  • CH3 類別、符號、物件和修飾器
    • 3.1 類別
      • 3.1.1 類別基本元素
      • 3.1.2 類別中的特性與方法
      • 3.1.3 延伸 JavaScript 類別
    • 3.2 符號
      • 3.2.1 區域符號
      • 3.2.2 符號的實際案例
      • 3.2.3 全域符號註冊表
      • 3.2.4 通用符號
    • 3.3 物件的內建功能強化
      • 3.3.1 運用 Object.assign 延伸物件
      • 3.3.2 運用 Object.is 比較兩物件
      • 3.3.3 Object.setPrototypeOf
    • 3.4 修飾器
      • 3.4.1 初談 JavaScript 修飾器
      • 3.4.2 修飾器堆疊和不可變更性的警示
      • 3.4.3 使用案例:C# 的 Attributes
      • 3.4.4 於 JavaScript 中標記特性
  • CH4 迭代和流程控制
    • 4.1 Promise
      • 4.1.1 開始學習 Promise
      • 4.1.2 Promise 物件的再開始和鏈結
      • 4.1.3 從頭開始建立一個 Promise
      • 4.1.4 Promise 狀態和結果
      • 4.1.5 Promise#finally 提案
      • 4.1.6 善用 Promise.all 和 Promise.race
    • 4.2 迭代器協議和可迭代協議
      • 4.2.1 瞭解迭代原則
      • 4.2.2 無限量的序列
      • 4.2.3 以鍵/值配對的方式對物件映射進行迭代
      • 4.2.4 為播放清單的迭代行為增加彈性
    • 4.3 產生器函式和產生器物件
      • 4.3.1 產生器基礎元素
      • 4.3.2 手動迭代產生器
      • 4.3.3 於可迭代物件加入產生器
      • 4.3.4 利用產生器巡訪樹狀結構資料
      • 4.3.5 利用產生器函式增加彈性
      • 4.3.6 非同步流程的處理
      • 4.3.7 產生器拋出錯誤
      • 4.3.8 代表產生器進行回傳
      • 4.3.9 運用產生器操作非同步IO
    • 4.4 非同步函式
      • 4.4.1 非同步程式的意義
      • 4.4.2 使用 async/await
      • 4.4.3 同時發生的非同步流程
      • 4.4.4 錯誤處理
      • 4.4.5 瞭解非同步函式的內部運作
    • 4.5 非同步迭代
      • 4.5.1 非同步迭代器
      • 4.5.2 非同步產生器
  • CH5 運用 ECMAScript 集合
    • 5.1 運用 ES6 的映射
      • 5.1.1 初探 ES6 映射
      • 5.1.2 Hash-map 雜湊表和 DOM
    • 5.2 瞭解並運用弱映射
      • 5.2.1 弱映射是一個糟糕的映射?
    • 5.3 ES6 的集合
    • 5.4 ES6 的弱集合
  • CH6 運用代理器管理特性存取
    • 6.1 代理器初探
      • 6.1.1 定義 get 機關攔截擷取操作
      • 6.1.2 定義 set 機關攔截設定操作
      • 6.1.3 以代理器進行格式驗證
    • 6.2 可廢止的代理器
    • 6.3 代理器機關處理器
      • 6.3.1 是否設定機關 - has
      • 6.3.2 deleteProperty 機關
      • 6.3.3 defineProperty 機關
      • 6.3.4 ownKeys 機關
    • 6.4 進階的代理器機關
      • 6.4.1 getOwnPropertyDescriptor 機關
      • 6.4.2 apply 機關
      • 6.4.3 construct 機關
      • 6.4.4 getPrototypeOf 機關
      • 6.4.5 setPrototypeOf 機關
      • 6.4.6 preventExtensions 機關
      • 6.4.7 isExtensions 機關
  • CH7 ES6 內建功能優化
    • 7.1 數值
      • 7.1.1 二進位和八進位實字
      • 7.1.2 Number.isNaN
      • 7.1.3 Number.isFinite
      • 7.1.4 Number.parseInt
      • 7.1.5 Number.parseFloat
      • 7.1.6 Number.isInteger
      • 7.1.7 Number.EPSILON
      • 7.1.8 Number.MAX_SAFE_INTEGER 和 Number.MIN_SAFE_INTEGER
      • 7.1.9 Number.isSafeInteger
    • 7.2 Math 物件
      • 7.2.1 Math.sign
      • 7.2.2 Math.trunc
      • 7.2.3 Math.cbrt
      • 7.2.4 Math.expm1
      • 7.2.5 Math.log1p
      • 7.2.6 Math.log10
      • 7.2.7 Math.log2
      • 7.2.8 三角函數
      • 7.2.9 Math.hypot
      • 7.2.10 位元運算輔助器
    • 7.3 字串和萬國碼
      • 7.3.1 String#startsWith
      • 7.3.2 String#endsWith
      • 7.3.3 String#includes
      • 7.3.4 String#repeat
      • 7.3.5 字串補足與修整
      • 7.3.6 萬國碼
      • 7.3.7 String.prototype[Symbol.iterator]
      • 7.3.8 分辨字元符號叢集提案
      • 7.3.9 String#codePointAt
      • 7.3.10 String.fromCodePoint
      • 7.3.11 萬國碼感知的字串返回法
      • 7.3.12 String#normalize
    • 7.4 正規表示式
      • 7.4.1 黏著度比對模式 /y
      • 7.4.2 萬國碼比對模式 /u
      • 7.4.3 命名匹配群組
      • 7.4.4 萬國碼特性跳脫
      • 7.4.5 左合子樣式
      • 7.4.6 全新的 /s "dotAll" 樣式
      • 7.4.7 String#matchAll
    • 7.5 陣列
      • 7.5.1 Array.from
      • 7.5.2 Array.of
      • 7.5.3 Array#copyWithin
      • 7.5.4 Array#fill
      • 7.5.5 Array#find 和 Array#findIndex
      • 7.5.6 Array#keys
      • 7.5.7 Array#values
      • 7.5.8 Array#entries
      • 7.5.9 Array.prototype[Symbol.iterator]
  • CH8 JavaScript 模組
    • 8.1 CommonJS
    • 8.2 JavaScript 模組
      • 8.2.1 嚴格模式
      • 8.2.2 export 輸出敘述
      • 8.2.3 import 載入敘述
      • 8.2.4 動態 import()
    • 8.3 ES 模組操作的實務考量
  • CH9 實務操作的考量
    • 9.1 變數宣告
    • 9.2 字串樣板
    • 9.3 簡化語法與物件解構賦值
    • 9.4 其餘與展開運算
    • 9.5 探究各類函式宣告方式
    • 9.6 類別與代理器
    • 9.7 非同步程式流程
    • 9.8 複雜性、抽象化與規範

About

A learning project from the book 'Practical Modern JavaScript'.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors