二、前端技术-es6的介绍

  • 一、ECMAScript 6 简介
    • 1、ECMAScript 和 JavaScript 的关系
    • 2、ES6 与 ECMAScript 2015 的关系
  • 二、基本语法
    • 1、let声明变量(作用域)
    • 2、const声明常量(只读变量)
    • 3、解构赋值
    • 4、模板字符串
    • 5、声明对象简写
    • 6、定义方法简写
    • 7、对象拓展运算符
    • 8、箭头函数

自学参考:http://es6.ruanyifeng.com/

一、ECMAScript 6 简介

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

1、ECMAScript 和 JavaScript 的关系

一个常见的问题是,ECMAScript 和 JavaScript 到底是什么关系?

要讲清楚这个问题,需要回顾历史。1996 年 11 月,JavaScript 的创造者 Netscape 公司,决定将 JavaScript 提交给标准化组织 ECMA,希望这种语言能够成为国际标准。次年,ECMA 发布 262 号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为 ECMAScript,这个版本就是 1.0 版。

因此,ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 Jscript 和 ActionScript)

2、ES6 与 ECMAScript 2015 的关系

ECMAScript 2015(简称 ES2015)这个词,也是经常可以看到的。它与 ES6 是什么关系呢?

2011 年,ECMAScript 5.1 版发布后,就开始制定 6.0 版了。因此,ES6 这个词的原意,就是指 JavaScript 语言的下一个版本。

ES6 的第一个版本,在 2015 年 6 月发布,正式名称是《ECMAScript 2015 标准》(简称 ES2015)。

2016 年 6 月,小幅修订的《ECMAScript 2016 标准》(简称 ES2016)如期发布,这个版本可以看作是 ES6.1 版,因为两者的差异非常小,基本上是同一个标准。根据计划,2017 年 6 月发布 ES2017 标准。

==因此,ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等等,==而 ES2015 则是正式名称,特指该年发布的正式版本的语言标准。本书中提到 ES6 的地方,一般是指 ES2015 标准,但有时也是泛指“下一代 JavaScript 语言”。

二、基本语法

ES标准中不包含 DOM 和 BOM的定义,只涵盖基本数据类型、关键字、语句、运算符、内建对象、内建函数等通用语法。

本部分只学习前端开发中ES6的最少必要知识,方便后面项目开发中对代码的理解

1、let声明变量(作用域)

创建 let.html

<script> //es6如何定义变量,定义变量特点//js定义:var a=10;
//es6写法定义变量,使用关键字   let a=10;//var声明变量没有局部作用域
//let声明变量有局部作用域//1、创建代码块,定义变量
{var a=10let b=20
}//2、代码块外面输出
console.log(a)
console.log(b)</script>
<script> // var 可以声明多次
// let 只能声明一次
var m = 1
var m = 2
let n = 3
let n = 4
console.log(m)  // 2
console.log(n)  // Identifier 'n' has already been declared</script>

2、const声明常量(只读变量)

创建 const.html

<script>// 1、声明之后不允许改变
const PI="3.1415"
PI = 3  // TypeError: Assignment to constant variable.// 2、一但声明必须初始化,否则会报错
const MY_AGE  // SyntaxError: Missing initializer in const declaration
</script>

3、解构赋值

创建 解构赋值.html

解构赋值是对赋值运算符的扩展。

他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。

在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取。

<script>//传统写法
let a=1,b=2,c=3
console.log(a,b,c)//es6
let [x,y,z]=[10,20,30]
console.log(x,y,z)</script>
<script>//2、对象解构
let user = {name: 'Helen', age: 18}// 传统
let name1 = user.name
let age1 = user.age
console.log(name1, age1)
// ES6
let { name, age } =  user//注意:结构的变量必须是user中的属性
console.log(name, age)</script>

4、模板字符串

创建 模板字符串.html

模板字符串相当于加强版的字符串,用反引号 `,除了作为普通字符串,还可以用来定义多行字符串,还可以在字符串中加入变量和表达式。

<script>//1、使用`符号实现换行let str1=`hello,
es6 demo up`
//console.log(str1)// 2、字符串插入变量和表达式。变量名写在 ${} 中,${} 中可以放入 JavaScript 表达式。
let name = "Mike"
let age = 27
let info = `My Name is ${name},I am ${age+1} years old next year.`
console.log(info)
// My Name is Mike,I am 28 years old next year.// 3、字符串中调用函数
function f(){return "have fun!"
}let string2 = `Game start,${f()}`
console.log(string2);  // Game start,have fun!</script>

5、声明对象简写

创建 声明对象简写.html

<script>const age = 12
const name = "Amy"// 传统
const person1 = {age: age, name: name}
console.log(person1)// ES6
const person2 = {age, name}
console.log(person2) //{age: 12, name: "Amy"}</script>

6、定义方法简写

创建 定义方法简写.html

<script>// 传统
const person1 = {sayHi:function(){console.log("Hi")}}
person1.sayHi();//"Hi"// ES6
const person2 = {sayHi(){console.log("Hi")}
}person2.sayHi()  //"Hi"</script>

7、对象拓展运算符

创建 对象拓展运算符.html

拓展运算符(…)用于取出参数对象所有可遍历属性然后拷贝到当前对象。

<script>//1、复制
let person1={"name":"lucy","age":20}
let person2={...person1}
console.log(person2)//2、合并对象
let age={age:15}
let name={name:"Amy"}let person2={...age,...name}
console.log(person2)</script>

8、箭头函数

创建 箭头函数.html

箭头函数提供了一种更加简洁的函数书写方式。基本语法是:

参数 => 函数体

<script>// 传统
var f1 = function(a){return a
}
console.log(f1(1))// ES6
var f2 = a => a
console.log(f2(1))// 当箭头函数没有参数或者有多个参数,要用 () 括起来。
// 当箭头函数函数体有多行语句,用 {} 包裹起来,表示代码块,
// 当只有一行语句,并且需要返回结果时,可以省略 {} , 结果会自动返回。
var f3 = (a,b) => {let result = a+breturn result
}console.log(f3(6,2))  // 8// 前面代码相当于:
var f4 = (a,b) => a+b</script>

二、前端技术-es6的介绍相关推荐

  1. 美团点评金融平台Web前端技术体系

    背景 随着美团点评金融业务的高速发展,前端研发数量从 2015 年的 1 个人,扩张到了现在横跨北上两地 8 个事业部的将近 150 人.业务新,团队新,前端领域框架技术又层出不穷,各个业务的研发团队 ...

  2. 转载《美团点评金融平台Web前端技术体系》

    复制代码 作者:禹霖 原文地址: tech.meituan.com/2018/03/16/- 背景 随着美团点评金融业务的高速发展,前端研发数量从 2015 年的 1 个人,扩张到了现在横跨北上两地 ...

  3. 前端技术学习路线及技术汇总

    第一阶段网页开发基础 首先从以下几个方面了解web: 一.Web的概述 1.万维网的发展 2.浏览器与服务器 3.网页与网站 4.域名与主机 5.HTTP协议 6.W3C标准 需要了解的核心是:浏览器 ...

  4. SAP 前端技术的演化史简介

    Jerry之前曾经写过一篇微信公众号文章,题目叫<<SAP UI和Salesforce UI开发漫谈>> 关注我的公号"汪子熙"后,在历史菜单"前 ...

  5. web前端技巧-ES6新特性与重点知识汇总(二)

    ES6框架的新特性我们今天再来介绍其他的一些,还是带好写本本做好笔记,我们马上开始. 七.扩展运算符 扩展运算符(spread)是三个点(-).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔 ...

  6. web用css做网页实验报告,web前端技术实验报告实验二

    <web前端技术实验报告实验二>由会员分享,可在线阅读,更多相关<web前端技术实验报告实验二(7页珍藏版)>请在装配图网上搜索. 1.Web前端技术实验报告课程名称:Web ...

  7. 前端技术学习记录:react+dvajs+ant design实现暴走计算器的页面重构(二)

    前端技术学习记录:react+dvajs+ant design实现暴走计算器的页面重构(二) 前言 定义 Model connect 起来 更新state 拥抱变化 主题切换 更换页面 获取当前设备类 ...

  8. 大前端CPU优化技术--NEON指令介绍

    前言 ARM NEON 可以提升音视频,图像,计算机视觉等计算密集型程序的性能,在上一篇大前端CPU优化技术--NEON技术的介绍中,我们知道一些编译器可以将 C/C++ 代码自动转换为 NEON 指 ...

  9. web前端技术(二)之动画进阶

    web前端技术(二)之动画进阶 目录 web前端技术(二)之动画进阶 前言 一.web前端动画是什么 二.2D转换标签(transforms) 1. translate() 2.rotate() 3. ...

最新文章

  1. 技术向:一文读懂卷积神经网络
  2. 三层交换机工作原理介绍
  3. 弟子规python编程游戏_《Python游戏趣味编程》 第11章 消灭星星
  4. 两条直线求交点c语言,C§ 3.3.1两条直线的交点坐标(5页)-原创力文档
  5. go语言特性理解--变量/函数/面向对象/并发编程/错误处理
  6. 不依赖浏览器控制台的JavaScript断点调试方法
  7. ~~spfa 算法(队列优化的Bellman-Ford算法)(附模板题)
  8. 三维点云学习(3)8- 实现Spectral谱聚类
  9. 定点运算之原码一位乘法
  10. 计算机桌面壁纸在哪个文件夹,系统桌面背景在哪个文件夹
  11. 网关冗余技术、链路冗余技术 、 ACL原理、ACL配置
  12. 电脑一直跳出 不支持16位的应用程序该如何解决
  13. android studio红色下划线,如何在Android Studio中为文字加下划线?
  14. 第二篇:读曹德旺《心若菩提》
  15. 五步打造APP节日主题设计:以Lofter新年图标设计为例
  16. C语言 阿拉伯数字转换为汉语大写数字金额程序分析及源码
  17. [论文笔记] A Survey of Software Refactoring(TOSE, 2004)第一部分
  18. 留数定理matlab,第五章 留数定理习题及其解答
  19. TDD_UT测试总结
  20. OA开发很简单 OA实施很复杂

热门文章

  1. 数仓实践:浅谈 Kimball 维度建模
  2. 抖音seo排名优化如何才能有好的效果
  3. vue中style的scoped属性
  4. 2008.5.19-5.21全国哀悼日
  5. 反虚拟机技术虚拟机硬件化处理过检测
  6. Visual Studio 2013调试后弹不出窗口
  7. 代理记账公司主要做什么,原来有这么多项目
  8. 代理记账会计如何有效与企业客户沟通
  9. 2MSL导致的服务器端口占用问题
  10. JavaScript的表格注册