es6和es5和js的关系

一.什么是es

es就是js的国际标准,语法标准。es6是es5升级的新一代标准,目前大部分浏览器已支持es6语法标准,ie7-11不支持。

二.es6的特点,与es5的区别

1.es6与es5的类不同,es6引入class,写起来更符合面向对象的编程思维,实际上底层实现的逻辑是一样的。但会极大的简化代码,看起来更加清晰。es6的类有暂时性死区,不可变量提升,因为es6的类必须声明之后才能使用。而es5中不是如此

另外继承类也不同,es6中继承的写法更符合java等面向对象的语言,使用extends关键字继承。而es5中继承写起来比较复杂,不够简洁。

补充点:

es6的类中必须有构造函数,构造函数中可以给予实例属性,另外还有原型方法。在es5中需这样实现:

var Animal=function(属性1,属性2){}

Animal.prototype = {method1:function(){},method2:function(){}}//原型方法

Animal.method3  = function(){}//静态方法

在es6中这样实现

class Animal = {

constructor(){}

method1(){}//原型方法

method2(){}//原型方法

}

2.es6中有promise,以及同步异步async await,可将多层嵌套的回调函数 改为 链式执行,看起来清晰明白

3.增加let,const数据类型,在块级作用域中有效,即必须包含在大括号里,且不可变量提升,即必须声明之后再使用var声明的变量与函数声明会被提升到顶部,因此函数与var的变量可在声明之前使用

什么是块级作用域?就是在大括号里的就是块级作用域,{},比如for循环里。let非常适合for循环,for循环中使用var声明变量,容易受for之外的影响,而影响到数据的正确性。而在for中声明的let变量,只在for循环中有效,且每次for循环的let的变量都是一个新的变量 ,所以可保证数据不受其他影响

作用域:js中原来只有两种作用域,函数作用域和全局作用域, ES6中增加了块级作用域,适用于let和const

4.箭头函数,es6中函数不用写function关键字,用()=>{}就行。

es5中函数写法为

function a(){}

或者

var a = function(){}

es6中可改为箭头写法

var a = (属性1,属性2)=>{代码块}   //若代码块中只有一行代码,则大括号{}可以省去

5.es6中可一次性取出数组或object的多个值

var student= {age:18,sex:'男',name:'name1'}

let {age,sex,name} = student

6.函数有默认参数的值,es5中无法设置默认值

function f(p1,p2,p3=false,p4='none'){}

7.模版字符串,用反引号标识、、,最主要可以加入变量或表达式,不用再一直用++++来连接字符串了

//模板字符串相当于加强版的字符串,用反引号 `,除了作为普通字符串,还可以在字符串中加入变量和表达式。 let info = `my name is ${name}`

js学习笔记 - ES6 ES5的区别相关推荐

  1. JS学习笔记(九)深拷贝浅拷贝【Array、Object为例】

    JS学习笔记(九) 本系列更多文章,可以查看专栏 JS学习笔记 文章目录 JS学习笔记(九) 一.赋值&复制 二.浅拷贝(shallow copy) 1. 什么是浅拷贝 2. 数组的浅拷贝 ( ...

  2. 唤醒手腕 - 前端服务器端开发 Node.Js 学习笔记(学习中,更新中)

    唤醒手腕 - Node.Js 学习笔记 唤醒手腕个人的学习记录,时间在2021年12月13日 ~ 2021年12月14日,学习方式看官方文档和B站视频,如有错误或者代码问题的地方,欢迎C站大佬能够帮忙 ...

  3. WebGL three.js学习笔记 6种类型的纹理介绍及应用

    WebGL three.js学习笔记 6种类型的纹理介绍及应用 本文所使用到的demo演示: 高光贴图Demo演示 反光效果Demo演示(因为是加载的模型,所以速度会慢) (一)普通纹理 计算机图形学 ...

  4. html 流程控制,HTML5独家分享:原生JS学习笔记2——程序流程控制

    当当当当 .....楼主又来了!新一期的js学习笔记2--程序流程控制更新了! 想一键获取全部js学习笔记的可以给楼主留言哦! js中的程序控制语句 常见的程序有三种执行结构: 1.顺序结构 2.分支 ...

  5. Node.js学习笔记8

    Node.js学习笔记8 HTTP服务器与客户端 Node.js的http模块,封装了一个高效的HTTP服务器和一个简易的HTTP客户端 http.server是一个基于事件的HTTP服务器,核心由N ...

  6. JS学习笔记六:js中的DOM操作

    1. JS学习笔记六:js中的DOM操作 文章目录 1. JS学习笔记六:js中的DOM操作 1.1. 获取Dom节点 1.2. 元素属性的操作方式 1.3. DOM节点的创建.插入和删除 1.4. ...

  7. JS学习笔记(五)函数类型、箭头函数、arguments参数、标签函数

    JS学习笔记(五) 本系列更多文章,可以查看专栏 JS学习笔记 文章目录 JS学习笔记(五) 一.函数 1. 函数定义 2. 方法( 对象 + 函数 ) 二.函数参数及返回值 1. 传递原始类型参数 ...

  8. Vue.js学习笔记 2022 04 17

    Vue.js学习笔记 1 Vue.js基础 Vue.js介绍 vuejs 渐进式 JavaScript 框架 Vue.js 如何应用 1 在普通html项目中,引入VUE.JS Hb 的项目 生成的 ...

  9. node.js 学习笔记(二)模板引擎和C/S渲染

    node.js 学习笔记(二)模板引擎和C/S渲染 文章目录 node.js 学习笔记(二)模板引擎和C/S渲染 一.初步实现Apache功能 1.1 使用模板引擎 1.2 在 node 中使用模板引 ...

最新文章

  1. SAP SD基础知识之信用范围数据维护
  2. ML_preprocessing
  3. SSM+KindEditor实现富文本编辑器图片上传
  4. 使用VS Code进行远程连接
  5. 使用Gatling + Gradle + Jenkins Pipeline为您的JAX-RS(和JavaEE)应用程序进行连续压力测试...
  6. java 伴随矩阵_C#计算矩阵的逆矩阵方法实例分析
  7. myeclipse连接mysql怎么调用_myeclipse连接mysql数据库详细步骤
  8. 设计模式学习笔记1——类与类之间的关系
  9. Java基础学习总结(87)——坚持写Java等技术类博客的好处
  10. AngularJS中的表单验证机制
  11. 自动化企业人才如何定位?
  12. 医院药品管理系统java sql_医院药品管理系统设计(Netbeans,Myeclipse,MySQL,SQLServer)
  13. 【数据库系统概论】数据库系统概述
  14. 强悍!winrar妙用-将bat脚本打包成exe可执行文件并实现自动执行
  15. 抖音是怎么做出来的?| 创业故事
  16. qq企业邮箱登录服务器,腾讯邮箱登录入口(腾讯企业邮箱免费用户申请)
  17. 国产时钟芯片应用探讨,CLB2305对标CY2305, CLB30110兼容IDT:8L30110,TI:CDCLVC1310
  18. java 对音频文件降噪_如何对音频文件降噪?闪电音频剪辑软件为音频降噪的方法...
  19. Access Violation(非法访问)错误的解决方法
  20. mysql 连续天数_MYSQL面试题:统计连续打卡天数

热门文章

  1. 2019年2月12日雪
  2. 【华为OD机试真题】单核CPU任务调度
  3. CNN加速器中的NC4HW4内存排布格式
  4. php mysql 换行_php去除换行
  5. CentOS 搭建 WordPress 站点
  6. 少走弯路,关于在线客服系统的二三事
  7. 51单片机c语言头文件大全,51单片机keilC中头文件absacc.h作用
  8. Django request对象
  9. Github | 程序员七大生产力工具
  10. 笔记/Linux运维面试常见问题