DEV Community

Roger Lin
Roger Lin

Posted on

JavaScript —— Foundations

声明

  • let: 声明块级作用域变量
  • const: 声明块级作用域常量
  • var: 声明函数级作用变量(不推荐使用)

都存在变量提升,但 letconst 不会被赋予初始值, 在声明前使用将抛出引用错误(ReferenceError).


数据类型

  • boolean
  • null
  • undefined
  • number
  • bigint
  • string
  • symbol
  • object
  1. 基本数据类型判断使用 typeof : boolean, undefined, number, string, object, function.
  2. 引用类型判断使用 instanceof.
  3. 属性判断使用 in.

流程控制

  • if...else if...else
  • switch...case...default
  • throw
  • try...catch...finally

循环与迭代

  • for
  • do...while
  • while
  • continue
  • break
  • for...in: 遍历 key, 数组慎用
  • for...of: 遍历 value, 对象不可用
  • for await...of: 遍历异步迭代

模块

导出原则: 导出不可变数据, 例如 const, function, class.

  • 导出: export const name = 'itroger'
  • 默认导出 export default function func() {}
  • 导出重命名: export { func as func1 }
  • 导入: import { name } from '...'
  • 导入默认的导出: import func from '...'
  • 导入重命名: import { func as func1 } from '...'

新运算符

nullish 表示值为 null 或 undefined.

  • ?.: 可选链运算符, 在引用为 nullish 时短路返回
  • ??: 空值合并表运算符, 左侧为 nullish 时返回右侧
  • ??=: 逻辑空赋值, 左侧为 nullish 时赋值
  • ...: 展开运算符, 直接获取元素

Top comments (0)