Web前端基础篇—ECMAscript2015(上)

01 ECMAScript

http://es6.ruanyifeng.com/ 学习手册

概述:JavaScript是所谓行为层,它又分为三部分:BOM、DOM、ES

ECMAScript:欧洲计算机协会每年大概6月份左右定制语法规范;

2014年规范

ES5

2015年规范

ES6

2016年规范

ES7

2017年规范

ES8

2018年规范

ES9

注意:ES5和ES6之间语法变化很大; 

注意:在全部规范当中ES5兼容是最好的【IE5都可以兼容】

 

02  测试兼容问题

概述:JS文件不能独立执行,需要所谓‘宿主环境’。它才可以运行;

JS宿主环境有两种情况:①静态页面【传统引包】、 ② node.js平台

2.1静态页面兼容问题

概述:对于新的语言不通浏览器厂商是不同的;但是对于其他高级浏览器一般都是兼容;

众多浏览器当中IE浏览器兼容效果不是太好;

 

Web前端基础篇—ECMAscript2015(上)

 

2.2node平台兼容问题

概述:node是一个可以让JS运行平台,下面测试在测试node平台对于新的语法是否兼容;

注意:node能运行JS文件【运行:纯文本、静态页面、php】

注意:经过测试node平台对于新的语法兼容还是不错的,今天全部案例都是在node平台进行学习;

Web前端基础篇—ECMAscript2015(上)

 

03 ES6新的语法

3.1关键字const

Web前端基础篇—ECMAscript2015(上)

 

概述:const是ES6中新增关键字;主要的作用是可以声明常量;

常量:常量只能声明一次且赋值一次【不能再修改数值】;

Web前端基础篇—ECMAscript2015(上)

const关键字声明常量,没有声明提升问题

const关键字经常集合函数一起使用

3.2关键字let*****

Web前端基础篇—ECMAscript2015(上)

 

概述:let关键字也是ES6中提出的,它主要的作用是用来声明变量【声明一次可以多次赋值】;

注意:在ES6中提出块级作用域【就是大花括号】,let声明块级变量。如果出现块级作用域let声明变量只能在块级作用域中使用;

Web前端基础篇—ECMAscript2015(上)

Web前端基础篇—ECMAscript2015(上)

 

①变量:声明一次,可以多次赋值【let:声明是变量】

②在ES6中有块级作用域概念,如果let声明变量出现在了块级作用域当中,只能在块级作用域中使用

③let声明变量也没有,变量声明提升问题;

总结:const和let区别?

const声明的是常量,let声明变量

let声明变量,如果出现块级作用域,它只能在块级作用域当中使用;

相同:它两者都没有声明提升问题