美文网首页
前端知识 | 简析ES6

前端知识 | 简析ES6

作者: SEATELL海说软件 | 来源:发表于2018-01-24 10:44 被阅读0次

CMAScript 6 简介:

CMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

刚开始使用 vue 或者 react,很多时候我们都会把 ES6 这个大兄弟加入我们的技术栈中。以下是我们在日常开发中比较常用的特性。

1.变量声明 const 和 let

我们都是知道在 ES6 以前,var 关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部)。这就是变量提例如:

以上的代码实际上是:

所以无论如何 test 都会被创建声明

但是在 ES6 中新增了 let 和 const 命令。let 表示、const 表示常量。let 和 const 都是在它们所在的块级作用域中有效。看以下代码:

const 声明的常量不能被修改

let 的作用域是在它所在当前代码块,不会存在变量提升。for 循环的计数器,就很合适使用 let 命令。列入以下代码

2.函数

函数默参数

在 ES5 我们给函数定义参数默认值:

但当 num 传入为0的时候就是 false,此时 num = 200 与我们的实际要的效果明显不一样。

ES6 为参数提供了默认值。在定义函数时便初始化了这个参数,以便在参数没有被传递进去时使用。

箭头函数

ES6 很有意思的一部分就是函数的快捷写法。也就是箭头函数。

箭头函数最直观的三个特点:

·        不需要 function 关键字来创建函数

·        省略 return 关键字

·        继承当前上下文的 this 关键字

3.更方便的数据访问--解构

数组和对象是 JS 中最常用也是最重要表示形式。为了简化提取信息,ES6 新增了解构,这是将一个数据结构分解为更小的部分的过程。

ES5 中我们提取对象中的信息形式如下:

ES6 中我们从对象或者数组里取出数据存为变量,例如

4.Spread Operator 展开运算符

ES6 中的另外一个特性就是 Spread Operator 三个点儿...

组装对象或者数组

想获取数组或者对象除了前几项或者除了某几项的其他项

对于 Object 而言,还可以用于组合成新的 Object。(ES2017 stage-2 proposal) 当然如果有重复的属性名,右边覆盖左边

5.import 和 export

import 导入模块、export 导出模块

导入与导出的一些细节:

1.当用 export defaultpeople 导出时,就用 import people 导入(不带大括号)

2.一个文件里,有且只能有一个 exportdefault。但可以有多个 export。

3.当用 export name 时,就用 import { name } 导入(记得带上大括号)

4.当一个文件里,既有一个 exportdefault people, 又有多个 export name 或者 export age 时,导入就用 import people, { name, age}

5.当一个文件里出现 n 多个 export 导出很多模块,导入时除了一个一个导入,也可以用 import * asexample

6.Promise

Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了 Promise 对象。

所谓 Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。

基本用法:

Promise 构造函数接受一个函数作为参数,该函数的两个参数分别是 resolve 和 reject。它们是两个函数,由 JavaScript 引擎提供,不用自己部署。

resolve 函数的作用是,将 Promise 对象的状态从“未完成”变为“成功”(即从 pending 变为 resolved),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去;reject 函数的作用是,将 Promise 对象的状态从“未完成”变为“失败”(即从 pending 变为 rejected),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。

以上整理的是比较常见的 es6 特性,更多 es6 的内容大家可以进入到官方文档中学习。

【海说软件接受各种技术咨询及开发业务】

-END- 

相关文章

  • 前端知识 | 简析ES6

    CMAScript 6 简介: CMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一...

  • ECMAScript 6 初尝试

    最近在梳理大前端的知识,发现我对前端的知识真的欠缺了,连ES6都不了解,那就尝试一下ES6。 创建 common....

  • 简析前端函数

    概述 函数是一个可执行的语句块,这个语句块在函数声明的时候不执行,在函数调用的时候才执行。 我们可以将我们需要执行...

  • es6基础知识3(迭代)

    title: es6基础知识3(迭代)tags: 迭代categories: 前端 1. 迭代器 es6中新增了迭...

  • ES6 Learning

    有段时间没有做前端页面,最近复习了下前端的知识,同时发现大家都已经进入ES6开发的节奏了,前端果然善变啊。看完es...

  • es6基础知识3(函数拓展)

    title: es6基础知识3(函数拓展)tags: 参数默认值 剩余参数 箭头函数 categories: 前端...

  • ES6之this指向

    ES6之this指向 前言 this 指向问题是入坑前端必须了解知识点,现在迎来了ES6时代,因为箭头函数的出现,...

  • 解决RecyclerView条目焦点问题

    XSize的主页 本文知识点:android:descendantFocusability用法简析 在Androi...

  • 前端H5 SPA选型

    前台规范 ES6语法ES6前端代码规范 前端模块化管理 webpack 构建工具 vue-loader 前端CSS...

  • 前端基础建设之export、import使用

    背景知识 在ES6前, 前端就使用RequireJS或者seaJS实现模块化, requireJS是基于AMD规范...

网友评论

      本文标题:前端知识 | 简析ES6

      本文链接:https://www.haomeiwen.com/subject/telooxtx.html