003-ES6常用语法

ES6常用语法

let、const

💡 Tips:不可重复声明,const不可改,块级作用域限制

javascript 复制代码
let name1 = 'zhangsan';
const AGE = 10;

模板字符串

javascript 复制代码
const info = `my name is ${name1}, i am ${AGE}`;

属性简写、方法简写

javascript 复制代码
const obj1 = {
  name1,
  run() {
    console.log('i can run !');
  },
};

箭头函数

javascript 复制代码
const arr = [1, 2, 3, 4];
arr.forEach((item, i) => {
  console.log(`arr索引为:${i}, 值为:${item}`);
});

promise

💡 Tips:解决回调地狱,异步请求

javascript 复制代码
const p = new Promise((resolve, reject) => {
  setTimeout(() => {
    if (Math.random() > 0.5) {
      resolve('succeed');
    } else {
      reject('failed');
    }
  }, 3000);
});
p.then(res => {
  console.log('promise success --', res);
}).catch(err => {
  console.log('promise fail --', err);
});

async、await

💡 Tips:对 promise 的优化写法,更清晰

javascript 复制代码
function main() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      console.log('main 内部方法');
      resolve('main 执行成功');
    }, 3000);
  });
}

async function getMain() {
  const data = await main();
  console.log('getMain 方法执行', data);
}
getMain();
console.log('外部方法');

解构赋值

javascript 复制代码
let { name, age } = {
  name: 'zhangsan',
  age: 12,
};
let [arr1, arr2] = [2, 3];

import、export

javascript 复制代码
import { mapMutations } from 'vuex';

export const fn = (data) => {};

扩展运算符

💡 Tips:对象合并

javascript 复制代码
const obj = {
  name: 'zhangsan',
  age: 19,
};

const obj3 = {
  ...obj,
  age: 10,
};
相关推荐
irises1 分钟前
从零实现2D绘图引擎:4.矩形与文本的实现
前端·数据可视化
前端_逍遥生1 分钟前
Vue 2 vs React 18 深度对比指南
前端·vue.js·react.js
irises2 分钟前
从零实现2D绘图引擎:2.Storage和Painter的实现
前端·数据可视化
juma90022 分钟前
最近在搞PCS储能双向变流器的Simulink仿真时踩了不少坑,尤其是功率控制环的配合调试简直让人头秃。咱们直接打开仿真模型,先从系统架构开始盘
javascript
irises5 分钟前
从零实现2D绘图引擎:3.交互系统(Handle)的实现
前端·数据可视化
feiyangqingyun8 分钟前
Qt/C++地图最简示例/在线离线切换/地图视图切换/执行各种js函数交互
javascript·c++·qt
irises9 分钟前
从零实现2D绘图引擎:1.实现数学工具库与基础图形类
前端·数据可视化
葡萄城技术团队10 分钟前
SpreadJS 自定义函数实战指南:从入门到避坑
前端
m0_7400437317 分钟前
v-bind 和 v-model 的核心区别
前端·javascript·vue.js
集成显卡20 分钟前
AI取名大师 | 使得 uni-app 兼容 vue3 同名简写语法糖的 vite 插件
javascript·vue.js