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 模块化

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

相关推荐
xiaofeichaichai1 小时前
ES6+ 模块
前端·ecmascript·es6
xuankuxiaoyao1 小时前
阶段案例——后台管理系统
java·linux·前端
恋猫de小郭1 小时前
Android 17 内存管理将严格管控,App 要注意适配
android·前端·flutter
暗冰ཏོ1 小时前
《uni-app 跨端开发完整指南:从基础入门到 H5、小程序、App 发布上线》
前端·小程序·uni-app·vue·html5
搬砖的前端1 小时前
AI工具集:Git提交时使用AI进行CodeReview如何在前端应用构建NPM包
前端·人工智能·git·npm·codeview
Bigger2 小时前
mini-cc 终端 UI:用 React 写 CLI 是什么体验
前端·react.js·ai编程
在水一缸2 小时前
警惕供应链陷阱:从 Red Hat npm 恶意包事件看依赖安全防护
前端·安全·npm·供应链安全·red hat·恶意包·依赖安全
川冰ICE2 小时前
JavaScript进阶③|Map_Set_WeakMap_WeakSet,新型数据结构
开发语言·javascript·数据结构
天下无贼!2 小时前
【功能实现】前端动态表单的实现原理与三种场景实战
前端