ES6的新语法和新特性

1.ES6引入了let和const关键字,可以用来声明块级作用域的变量和常量,避免了变量污染和重复定义的问题。
2.箭头函数
箭头函数可以更简洁地定义函数,并且它的this值是在定义函数时绑定的,而不是在执行过程中绑定的。
所以,这会很好的解决匿名函数和setTimeout和setInterval的this指向问题,不用再去给其用that变量存储this。
箭头函数和普通函数的区别
  1. 箭头函数语法更加简洁清晰;
  2. 箭头函数不会创建自己的this,而是它会捕获外层执行环境的this来继承使用,所以箭头函数的this指向是固定的。
  3. call、apply、bind无法改变箭头函数中的this值。
  4. 箭头函数不能作为构造函数使用,因为构造函数没有自己的this,所以不能,否则new会报错,所以箭头函数也没有原型prototype。
3.解构赋值:解构赋值可以方便地提取对象和数组中的值并赋值给变量,使得代码更加简洁易懂。
const obj = { x: 1, y: 2 };
const { x, y } = obj;
console.log(x, y);
4.Promise异步编程:Promise可以更好地处理异步操作,避免了回调地狱的问题。
.Promise.all方法:Promise.all方法可以同时执行多个Promise对象,并在所有Promise对象都执行完毕后返回结果。
5.Set和Map:Set和Map可以更方便地处理集合和键值对,使得数据结构更加丰富和易用。
6.for…of循环:for…of循环可以更方便地遍历数组、字符串、Map、Set等对象,使得代码更加简洁易懂。
7.对象的新增方法
Object.assign方法:Object.assign方法可以将多个对象合并成一个对象。Object.keys()方法:返回一个对象的属性组成的数组。
8.数组的新增方法
includes方法,Array.from(),find(),findIndex(),map
8.模板字符串:模板字符串可以方便地拼接字符串和变量,避免了繁琐的字符串拼接和转义。
const name = 'John';
console.log(`My name is ${name}`);
9.新增的一种数据类型:Symbol,代表创建后独一无二且不可变的数据类型。
10.模块化:ES6引入了模块化的概念,可以更好地组织和管理代码,避免了全局变量的污染。
// 导出export const sum = (a, b) => a + b;
// 导入import { sum } from './math';
console.log(sum(1, 2));

 

posted @ 2023-10-15 08:50  小新没蜡笔哦  阅读(38)  评论(0编辑  收藏  举报