JavaScript简介
JavaScript一种动态类型、弱类型、基于原型的客户端脚本语言,用来给HTML网页增加动态功能。
JavaScript由三部分组成:
ECMAScript(核心)+DOM(文档对象模型)+BOM(浏览器对象模型)
ECMAScript作为核心,规定了语言的组成部分:语法、类型、语句、关键字、保留字、操作符、对象
DOM把整个页面映射为一个多层节点结果,开发人员可借助DOM提供的API,轻松地删除、添加、替换或修改任何节点。
BOM支持可以访问和操作浏览器窗口的浏览器对象模型,开发人员可以控制浏览器显示的页面以外的部分
ES5简介
ECMAScript第五个版本,增加了以下特性
1、strict模式
2、Array的every、some、forEach、filter、indexOf、lastIndexOf、isArray、map、reduce、reduceRight等方法
3、Object方法
ES6
ECMAScript第六个版本,增加的新特性:
1、块级作用域 关键字let,常量const
2、对象字面量的属性赋值简写
3、赋值解构
4、函数参数-默认值、参数打包、数组展开(Default、Rest、Spread)
5、箭头函数 Arrow functions
简化了代码形式,默认return表达式结果
自动绑定语义this,即定义函数时的this。
6、字符串模板Template strings
7、Iterators(迭代器)+for..of
迭代器的next方法,调用会返回:
(1)返回迭代对象的一个元素:{done:false, value:elem}
(2)如果已经达到迭代对象的末端:{done:true, value:retVal}
8、生成器(Generators)
9、Class,有constructor、extends、super
10、Modules
(1)具有CommonJS的精简语法、唯一导出出口(single exports)和循环依赖(cyclic dependencies)的特点
(2)类似AMD,支持异步加载和可配置的模块加载
11、四种集合类型,Map+Set+WeakMap+WeakSet
12、一些新的API
Math+Number+String+Array+Object APIs
13、Proxies
使用代理(Proxy)监听对象的操作,包括get、set、has、deleteProperty、apply、construct、getOwnPropertyDescriptor、defineProperty、getPrototypeOf、setPrototypeOf、enumerate、ownKeys、preventExtensions、isExtensible。
14、Symbols
一种基本类型,通过调用symbol函数产生,接收一个可选的名字参数,该函数返回的symbol是唯一的。
15、Promises
是处理异步操作的对象,使用了Promise对象之后可以用一种链式调用的方式来组织代码,让代码更直观
最常用的ES6特性
let,const,class,extends,super,arrow functions,template string,destructuring,default,rest arguments。
1、let,const用途与var类似,都是用来声明变量的。
ES5只有全局作用域和函数作用域,会造成内层变量覆盖外层变量;
const也用来声明变量,但是声明的是常亮。一旦声明,常亮的值就不能改变,当尝试去改变const声明的变量时,浏览器就会报错。
2、class,extends,super
class类里的constructor方法,即为构造方法,this关键字则代表实例对象。
class之间可以通过extends关键字实现继承。
super关键字,它指代父类的实例(即父类的this对象)。子类必须在constructor方法中调用super方法,否则新建实例时会报错。
3、arrow function
箭头函数的形式
(参数)=>{函数体操作一;函数体操作二;return 返回值}
4、template string
传统的写法需要用大量的‘+’号来连接文本与变量,而使用ES6的新特性模板字符串‘’后,可以用反引号(\)来标识起始,用${}’来引用变量,而且所有的空格和缩进都会被保留在输出之中。
5、Destructuring(解构)
ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值。
参考文档:
30分钟掌握ES6/ES2015核心内容(上)
JavaScript、ES5和ES6的介绍和区别

JavaScript、ES5和ES6的介绍和区别相关推荐

  1. 带你认识Javascript、ES5和ES6的介绍和区别

    一.什么是Javascript? JavaScript(简称"JS")一种动态类型.弱类型.基于原型的客户端脚本语言,用来给HTML网页增加动态功能. 动态: 在运行时确定数据类型 ...

  2. es5和es6声明类的区别/es5和es6继承的区别

    // es5和es6声明类的区别,es5没有统一语法规范.es6有统一写法规范 start. // es5声明"类"的语法--伪类 // function Person(name, ...

  3. ES5和ES6的类的区别

    目录 一.写法上面的区别 二.二者的其他区别 1.class 不能提升 2.class只能通过new 实例 3.class的原型上属性不能遍历 4.实现继承的方法不同 一.写法上面的区别 我们用ES5 ...

  4. es5和es6的区别

    最近在看阮一峰的<ECMAScript6入门>,讲真,这本书对初学者真的很有帮助,在这里也推荐给大家.接下来,我要说的一些例子也大多来源于这本书,如果对这本书感兴趣的小伙伴,也可以戳这里哦 ...

  5. js基础面试题整理(包含ES5,ES6)

    写一下 Javascript 的原始类型 原始类型:number,string,boolean,null,undefined 引用类型:object.里面包含function,Array,Date T ...

  6. JavaScript 中的 require / exports、import / export、浅谈JavaScript、ES5、ES6

    Node.js 的基础教学 之 exports 和 module.exports:https://zhuanlan.zhihu.com/p/82057593 浅谈 JavaScript.ES5.ES6 ...

  7. 【JavaScript】ES5和ES6面向对象

    前言(Preface) Object Oriented 的一个标志就是 Class (类),通过类可以创建任意多个具有相同属性和方法的对象.然而,JavaScript中只有对象,没有类. ECMA-2 ...

  8. ES5、ES6和ES2015有什么区别?

    ES5.ES6和ES2015有什么区别? ES5指的是ECMScript的第五个版本,发布于2009年,是目前最广泛使用的JavaScript版本. ES6是ECMScript的第六个版本,也成为ES ...

  9. HTML和HTML5,css和css3的区别,ES5和ES6的区别有那些?

    HTML和HTML5的区别: 其实说白了,就是ES5和ES6的区别,无非就是换汤不换药,其实这个说法也不太对,是加了一些调料而已,HTML是前端搭建页面的必须品,但是随着人们开发的需求和速度,后期维护 ...

最新文章

  1. 区块链项目开发:双因素身份验证应用程序如何帮助保护你的加密帐户
  2. 程序显示文本框_C++入门到精通(二),编写我们自己的Hello World程序
  3. 1854: zbj的可乐(思维题)
  4. 安卓逆向_21 --- Java层和so层的反调试( IDA 动态调试 JNI_OnLoad、init_array下断)
  5. moore和mealy_Mealy机和Moore机的比较研究 目录
  6. 【codevs1073】家族,胡写并查集
  7. 海底捞:今年年底前将关停约300家经营未达预期门店
  8. C# 自定义Json解析工具
  9. APP兼容性测试如何测试?
  10. Windows 8 应用开发 - 磁贴
  11. NRF24L01 无线模块
  12. UltralSO 软碟通制作U盘启动盘(图解详细 完美避坑)
  13. 科目二 离合 要点记录
  14. 3、基础篇————信息安全三要素
  15. OpenFire源码学习之二十九:openfire集群配置
  16. 如何在工作中提升自己的学习能力
  17. ERP系统生产委外管理,内外无缝连接
  18. 这世上最悲哀的事莫过于:你的好,他不懂!
  19. Linux常用命令——git命令
  20. 玩过4款非常有价值的游戏

热门文章

  1. 学计算机用不用手机,手机投屏到电脑原来这么简单?不用数据线,小白都能学会!...
  2. ionic新建工程并打包
  3. oracle 给表指定表空间,oracle数据库创建用户指定表空间
  4. 小脑的语言、工作记忆、社会和情绪处理的三重表征
  5. 王者荣耀4月14日服务器维护,《王者荣耀》4月14日更新了什么 4月14日更新更新内容一览...
  6. 初中和计算机有什么隐藏游戏,初中生礼物排行榜2019,学习游戏两不误
  7. javaFx实现截屏——鼠标拖动选择截屏区域进行截屏,任意界面按下快捷键截屏,截屏完成后显示截屏图片
  8. MySQL - SQL窗口函数
  9. 合并两个有序链表(C语言)
  10. Android Bluetooth蓝牙开发\蓝牙协议\蓝牙通信