ES6学习(新特性简要提纲)

news/2024/7/10 23:57:40 标签: es6, 前端, javascript

前言

ES6准确的定义来说应该是ES2015,但是更多情况下,被广义的代表为ES5之后的所有版本。因为ES5到ES6这个版本的跨越很大,有非常多的新语法和api诞生,就像是1949年的中国,截止1949年都之前的都称为旧中国,1949年之后就是新中国。一个道理,就是一个里程碑的代名词而已。

新特性汇总

变量的命名方式let和const

避免var带来的一些问题

javascript">//es5
var a = 1

//es6
let b = 2
const c = 3

解构赋值

更为方便的取值

javascript">//数组
let [name,age,work] = ['wjt',28,'coder']

//对象
let {name,age} = {age:28,name:'wjt'}

模板字符串

字符串拼接的优化

javascript">let name = 'wjt'
let age = 28
//ES5

var str2 = '我叫'+str1+',我今年'+age+'岁'

//ES6
let str3 = `我叫${name},我今年${age}岁` 

Symbol类型

通过Symbol函数命名,生成一个独一无二的值

javascript">let s1 = Symbol('wjt');

set容器

结构类似于数组,但是内部成员唯一不重复

javascript">const set = new Set([1, 2, 3, 4, 4]);
[...set]
// [1, 2, 3, 4]

Map容器

键值对映射的容器

javascript">const map = new Map([
  ['name', 'wjt'],
  ['age', 28]
]);

map.get('name') //'wjt'
map.get('age') // 28

元编程方法Proxy

可以实现对api本身重写,拦截,代理,意义重大

javascript">var proxy = new Proxy(target, handler);

Promise

专门用来处理异步编程的api

javascript">const promise = new Promise(function(resolve, reject) {
  // ... some code

  if (/* 异步操作成功 */){
    resolve(value);
  } else {
    reject(error);
  }
});

Iterator迭代器和for..of方法

访问各种结构数据的必要方法

javascript">const arr = ['red', 'green', 'blue'];

for(let v of arr) {
  console.log(v); // red green blue
}

Generator

异步函数的解决方案

javascript">function* asyncJob() {
  // ...其他代码
  var f = yield readFile(fileA);
  // ...其他代码
}

async await

Generator函数的语法糖

javascript">async function timeout(ms) {
  await new Promise((resolve) => {
    setTimeout(resolve, ms);
  });
}

class类

看上去更符合面向对象的一种语法糖,实则是构造函数的另一种写法

javascript">        /**构造函数的语法*/

        function Person(name,age){
            this.name = name
            this.age = age
        }
        Person.prototype.getString = function(){
            return `${this.name}的年龄是${this.age}`
        }

        /**class的语法*/
         class Person{
             name = null
             age = null
             constructor(name,age){
                 this.name = name
                 this.age = age
             }
             getString(){
                return `${this.name}的年龄是${this.age}`
            }
         }

module模块化

工程中必不可少的内容,导入导出文件暴露的数据和方法

其他

其他还有很多对原生对象属性的增强,比如正则,函数,数组,对象等方法的新增扩展,以及ArrayBuffer等。


http://www.niftyadmin.cn/n/5261124.html

相关文章

VS Code串口监视插件Serial Monitor

文章目录 初步使用参数设置VS Code插件 初步使用 Serial Monitor,即串行监视器,提供串口和TCP协议的通信监控功能。在插件栏搜索安装之后,按下Ctrl打开终端,终端界面会多出一个串行监视器选项卡,进入之后,…

一文了解web的发展史(从web1到web3)

什么是 Web 3.0?它是炒作吗?它会改变世界吗? 很多人在有人提到Web 2.0的时候就说,还会有 Web 3.0;但目前,全球没有任何组织或人能够准确的给出 Web 3.0(简称 Web 3)的准确定义。它仍…

Android---Kotlin 学习006

数字类型 和 java 一样,Kotlin 中所有数字类型都是有符号的,也就是说既可以表示正数,也可以表示负数。 安全转换函数 与 java 不一样,kotlin 提供了 toDoubleOrNull 和 toIntOrNull 这样的安全转换函数,如果数值不能…

0x71 C++ STL

0x71 C STL 本节介绍STL中vector,queue,priority_queue,deque,set,multiset,map,bitset八种算法竞赛比较常用的容器。另外,我们也会介绍algorithm头文件中包含的部分函数。 1.vect…

如何使用Docker将.Net6项目部署到Linux服务器(一)

目录 配置服务器环境 配置yum 配置docker 安装.NetCore SDK6.0 发布Net6 添加Dockerfile。 发布文件。 编辑DockerFile文件 ​编辑 上传文件 安装MySql 配置服务器环境 配置yum 在配置yum之前,我们需要先了解yum是什么,yum,是Yellow…

如何使用命令行运行PHP脚本?

在命令行中运行 PHP 脚本非常简单。下面是基本的步骤: 安装 PHP: 确保你的系统上安装了 PHP。你可以在终端中运行 php -v 命令检查 PHP 是否已安装,并查看版本信息。 创建 PHP 脚本: 使用文本编辑器创建一个 PHP 脚本文件&#x…

【Jmeter】Jmeter基础5-Jmeter元件介绍之线程(用户)

2.5.1、线程组 一个线程组即一个虚拟用户组,线程组中的每个线程即为1个虚拟用户,每个线程互相隔离,互不影响参数说明: 在取样器错误后要执行的动作 继续:忽略错误,继续执行启动下一进程循环: 终…

【UML】第4篇 UML公共机制(补扩展机制)

目录 一、扩展机制 1.1 构造型 1.2 标记值(Tagged Value) 1.3 约束(Constraint) 上节扩展机制没有讲完,如上图。 一、扩展机制 1.1 构造型 UML中的扩展机制包括约束、构造型和标记值,其中的构造型定义…