TOC

教程

JavaScript 教程

ES6 入门教程

The Modern JavaScript Tutorial

Patterns.dev - Modern Web App Design Patterns

Just JavaScript

??

|| 的不同是仅对 undefinednull 取 false

Nullish coalescing operator (??) - JavaScript | MDN

readonly

传值过程中防止任何 reference 发生 mutate 篡改类型的调用(splice 等函数会修改原 array)。

Hoisting

在一个函数内,const 不会被抬升;但是在一个 ES6 模块文件中,const 默认能够被抬升。

ES6 modules - why can I use a const before it is declared?

this

this in JavaScript and TypeScript

structuredClone(obj)

/* <https://www.youtube.com/watch?v=5b4YcLB4DVI> */

// Feels hacky:
const clone = JSON.parse(
  JSON.stringify(obj)
)

// Better cloning:
const clone = structuredClone(obj)