ES6+ 标准使用手册

核心规则:

测试函数前面加 async

所有「操作页面 / 等待」的代码前面加 await

一、核心语法(按使用频率排序)

1. 变量声明:let /const(彻底扔掉 var)

作用

let:声明会变的变量

const:声明不变的常量(优先用 const,更安全)

bash 复制代码
// 会变的用 let
let count = 0
count = 1 // 可以改

// 不变的用 const(推荐)
const name = "小明"
name = "小红" // 报错,不能改

2. 箭头函数:() => {}(Vue 写得最多)

作用

简化函数写法

没有烦人的 this 指向问题

bash 复制代码
// 传统函数(麻烦)
function add(a,b){ return a + b }

// ES6 箭头函数(简洁)
const add = (a,b) => a + b

// 无参数
const sayHi = () => alert("你好")

// 多行逻辑加大括号
const handleClick = () => {
  console.log("点击了")
  return 123
}

✅ Vue 常用

bash 复制代码
// 定时器、回调、事件处理
setTimeout(() => {
  console.log("延迟执行")
}, 1000)

⚠️ 避坑(重要)

Vue 的 methods 里不能用箭头函数,会拿不到 this

bash 复制代码
// 错误
methods: {
  increment: () => { this.count++ } // this 失效
}

// 正确
methods: {
  increment(){ this.count++ }
}

3. 模板字符串: (反引号,告别 + 拼接)

作用

轻松拼接变量 + 文字,支持换行

bash 复制代码
const name = "张三"
const age = 20

// 传统拼接(乱)
const str = "我是" + name + ",今年" + age + "岁"

// ES6 模板字符串(清爽)
const str = `我是${name},今年${age}岁`

// 支持换行
const html = `
  <div>
    <p>姓名:${name}</p>
  </div>
`

4. 解构赋值:快速拿对象 / 数组里的值

作用

一行代码取出多个数据,不用反复写 .

bash 复制代码
① 对象解构
const user = { name:"李四", age:25, city:"北京" }


// 传统取值
const name = user.name
const age = user.age

// ES6 解构(一行搞定)
const { name, age, city } = user

② 数组解构
const arr = ["苹果", "香蕉", "橙子"]
const [a, b, c] = arr
console.log(a) // 苹果

Vue 场景

取 props 数据

取接口返回的对象

取 reactive 数据

复制代码
// Vue3 setup 解构 props
const { title, list } = props

5. 扩展运算符:...(复制 / 合并神器)

作用

展开数组 / 对象,用于复制、合并、传参

bash 复制代码
// 复制数组
const arr1 = [1,2,3]
const arr2 = [...arr1] // 完整复制一份
// 合并数组
const arr3 = [...arr1,4,5] // [1,2,3,4,5]

// 复制对象
const user1 = {name:"小红"}
const user2 = {...user1, age:20}

Vue 场景

复制响应式数组 / 对象(不污染原数据)

合并参数、传递 props

6. 模块化:import /export(Vue 必用)

作用

导入 / 导出组件、样式、工具函数、配置

① 导出(给别人用)

bash 复制代码
// 单个导出
export const name = "vidaXL"

// 默认导出(组件常用)
export default EmailPage

② 导入(用别人的)

bash 复制代码
// 导入组件
import EmailPage from "@/views/EmailPage/index.vue"

// 导入样式
import "@/assets/styles/email-page.css"

// 导入工具
import { request } from "@/utils/request"

Vue 场景
所有页面、组件、样式、工具都这么导入导出

7. 函数默认参数

作用

不传参时用默认值,不报错

示例

bash 复制代码
// 不传 size,默认用 16
function setFont(text, size=16){
  console.log(text, size)
}


setFont("标题") // 标题 16
setFont("内容", 20) // 内容 20

8. 异步请求:Promise + async/await(调接口)

作用

优雅写接口请求,告别回调地狱

示例(Vue 调接口)

bash 复制代码
// 用 async/await 拿数据(最常用)
async function getList(){
  try {
    // 等待接口返回结果
    const res = await fetch("/api/list")
    const data = await res.json()
    console.log("数据", data)
  } catch (err) {
    console.log("报错", err)
  }
}

Vue 场景

页面加载请求列表、提交表单、获取详情

  1. 数组常用新方法
bash 复制代码
① map(遍历并返回新数组)
const arr = [1,2,3]
const newArr = arr.map(item => item * 2)
// [2,4,6]
② filter(筛选数组)
const arr = [10,20,30]
const newArr = arr.filter(item => item > 15)
// [20,30]

Vue 场景

处理列表数据、筛选展示内容

10. 对象简写(代码更短)

作用

键名和变量名一样时,可以只写一个

示例

bash 复制代码
const name = "vidaXL"
const url = "https://xxx.com"

// 传统
const obj = { name:name, url:url }

// ES6 简写
const obj = { name, url }

Vue 场景

setup 返回数据、data 定义、传参对象

  1. 防报错神器:可选链?. + 空值合并??

① 可选链?.(取深层属性不报错)

javascript

运行

const user = {}

// 传统(没值会报错)

const city = user.profile.address.city

// ES6 可选链(没值返回 undefined,不崩溃)

const city = user?.profile?.address?.city

② 空值合并??(没值时用默认)

javascript

运行

const theme = null

// 为 null/undefined 时用默认

const currentTheme = theme ?? "light"

Vue 场景

接口数据嵌套层级深、防止页面白屏报错

三、小白速查总结(背会这 7 个就够写 Vue)

变量:const 优先,let 次之,扔掉 var

函数:() => {} 简化写法(methods 别用)

字符串:${变量} 告别 + 拼接

取值:const {a,b} = 对象 快速解构

复制:... 展开数组 / 对象

导入:import/export 模块化

防错:?. 取深层数据不崩溃

相关推荐
panxianren8 小时前
Bun 1.4 的 bun test --parallel 将 4 秒的测试套件缩短到约 1 秒
java·javascript
陈随易10 小时前
bm2,Node.js 与 Bun 项目部署新选择
前端·后端·程序员
可乐鸡翅yeah_11 小时前
FFmpeg 生成 HLS 独立分片 independent‑segments 参数到底有什么用
javascript·ffmpeg·音视频·safari·m3u8
福兮说11 小时前
canvas 旋转图片的六个坑:四角被裁、Math.ceil 多出 1px 黑边、JPG 角发黑、翻转方向反了
前端·javascript·图像处理·canvas
Ai-_Man13 小时前
您您这可以把Grok的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。AI导出鸭
javascript·人工智能·ai·小程序·电脑
传人once13 小时前
多图片上传预览功能如何写
前端·css·html·jquery·html5
Eric.4613 小时前
Wan‑Animate+MiniMax-H3 本地部署 AI 漫剧流水线:8G 显存动作迁移与动态分镜工程实战
前端·人工智能·comfyui·ai漫剧
liangshanbo121514 小时前
JavaScript 异步核心主线
javascript·事件循环·异步操作
传人once15 小时前
悬停旋转放大和位移效果如何写
javascript·css·动画
库拉镜像AI牛牛15 小时前
短剧内容自动化生产:知漫剧工作室落地教程
大数据·服务器·前端·人工智能·语音识别