JavaScript 基础
面向非程序员的高频 JS 概念速查。
变量与作用域
js
let count = 10 // 可变,块级作用域
const PI = 3.14 // 常量,块级作用域
var old = 'avoid' // 函数作用域,已不推荐常用数据类型判断
js
typeof 'hello' // 'string'
Array.isArray([1, 2]) // true
[1, 2] instanceof Array // true解构与展开
js
const { name, age = 18 } = user // 对象解构 + 默认值
const [first, ...rest] = [1, 2, 3, 4] // 数组解构 + rest
const merged = { ...a, ...b } // 对象展开数组常用方法
| 方法 | 作用 |
|---|---|
map | 映射为新数组 |
filter | 过滤元素 |
reduce | 累加汇总 |
find | 找第一个匹配 |
forEach | 遍历(无返回值) |
异步
js
// Promise
fetch('/api/data')
.then(res => res.json())
.catch(err => console.error(err))
// async/await(推荐)
async function load() {
try {
const res = await fetch('/api/data')
return await res.json()
} catch (err) {
console.error(err)
}
}常见坑
==与===:始终用===,避免隐式转换;const对象内容可变:const只锁绑定,不锁内容,改内容用新对象替代;this指向:箭头函数没有自己的this,沿用外层。