JavaScript版本ES5/ES6及后续版本

JavaScript简史

1995:

Brendan Eich在短短10天内创建了JavaScript的第一个版本。它被称为摩卡,但已经具备了现代JavaScript的许多基本特性!

1996:

为了吸引Java开发人员,Mocha先是更改为LiveScript,然后又更改为JavaScript然而,JavaScript与Java几乎没有任何关系;
微软推出了IE,从网景复制JavaScript,并称之为JScript;

1997:

由于需要对语言进行标准化,ECMA发布了ECMAScript1(ES1),这是JavaScript的第一个官方标准(ECMAScript是标准,JavaScript是实践中的语言);

2009:

ES5(ECMAScript5)发布时提供了许多出色的新特性

2015:

发布了ES6/ES2015(ECMAScript2015):有史以来最大的语言更新!
ECMAScript更改每年发布周期,以减少每次更新发布的功能

2016-∞:

发布ES2016/ES2017/ES2018/ES2019/ES2020/ES2021/…/ES2089

向后兼容,无需重构WEB

向后兼容
现代的JavaScript引擎也可以完美的运行ES1的代码
不需要改变WEB
● 旧的特性永远不会被删除;
● 不是真正的新版本,知识增量更新(发布);
● 网站永远保持工作;
不向前兼容
现代的JavaScript引擎无法再老的JavaScript引擎上正常运行

如何在今天使用现代 JavaScript

  1. 在开发过程中:只需使用最新的谷歌浏览器!
  2. 在生产过程中:使用Babel转换和polyfill您的代码(转换回ES5以确保所有用户的浏览器兼容性)。

ES5
● 在所有浏览器中完全支持(从2011年起下降到IE9)
● 准备今天使用

ES6/ES2015→2020
● ES6以上:在所有现代浏览器中得到很好的支持
● 在旧的浏览器中不支持
● 可在生产中使用大部分功能,包括运输和聚合填充

ES2021-∞
● 下一篇:语言的未来版本(达到第四阶段的新功能提案)
● 已经可以在生产中使用运输和聚合填充的一些功能

ES6兼容性表格
http://kangax.github.io/compat-table/es6/

在这里插入图片描述

从头开始的现代 JavaScript

● 从头开始学习现代JavaScript!
● 但是,也要了解在现代JavaScript之前,有些事情是如何做的(例如,const&Letvsvar,函数构造函数VS ES6cLass)

我们不应该忘记旧的JavaScript:

● 您将更好地理解JavaScript的实际工作原理
● 今天你在网上找到的许多教程和代码都还在ES5中
● 在处理旧的代码库时,这些代码将用ES5编写

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/67160.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UI设计师个人工作感悟5篇

UI设计师个人工作感悟一 工作一年了,结合我自身谈谈UI设计的重要性。现在主流的论坛建站程序有两种 Phpwind 和Discuz(Phpwind被阿里巴巴收购 Discuz被腾讯收购这两个论坛程序都是开源免费的),利用这两种程序我都分别建立过论坛,我第一次用的…

R语言APSIM模型高级应用及批量模拟

随着数字农业和智慧农业的发展,基于过程的农业生产系统模型在模拟作物对气候变化的响应与适应、农田管理优化、作物品种和株型筛选、农田固碳和温室气体排放等领域扮演着越来越重要的作用。APSIM (Agricultural Production Systems sIMulator)模型是世界知名的作物生…

【Spring专题】Spring之底层架构核心概念解析

目录 前言前置知识课程内容一、BeanDefinition:图纸二、BeanDefinitionReader:图纸注册器——Spring工厂基础设施之一2.1 AnnotatedBeanDefinitionReader2.2 XmlBeanDefinitionReader2.3 ClassPathBeanDefinitionScanner基本介绍总结使用示例 三、BeanFa…

移动端预览指定链接的pdf文件流

场景 直接展示外部系统返回的获取文件流时出现了跨域问题: 解决办法 1. 外部系统返回的请求头中调整(但是其他系统不会给你改的) 2. 我们系统后台获取文件流并转为新的文件流提供给前端 /** 获取传入url文件流 */ GetMapping("/get…

一百五十二、Kettle——Kettle9.3.0本地连接Hive3.1.2(踩坑,亲测有效)

一、目的 由于先前使用的kettle8.2版本在Linux上安装后&#xff0c;创建共享资源库点击connect时页面为空&#xff0c;后来采用如下方法&#xff0c;在/opt/install/data-integration/ui/menubar.xul文件里添加如下代码 <menuitem id"file-openZiyuanku" label&…

聊聊RedisTemplate的各种序列化器

[版权申明] 非商业目的注明出处可自由转载 出自&#xff1a;shusheng007 文章目录 概述序列化器作用和原理JDK 序列化方式多一点 String 序列化方式JSON 序列化方式 总结源码 概述 在SpringBoot中使用redis基本上都是通过Spring Data Redis&#xff0c;那就不得不说RedisTempl…

11 个 Python 编码习惯

让你成为糟糕程序员的 11 个 Python 编码习惯 简介 Python 因其简洁性和可读性而备受推崇&#xff0c;但即使是最有经验的程序员也可能会陷入影响代码质量的习惯中。 在本博客中&#xff0c;我们将探讨 10 种常见的编码习惯&#xff0c;它们会降低您作为 Python 程序员的效率。…

2023年国赛数学建模思路 - 复盘:校园消费行为分析

文章目录 0 赛题思路1 赛题背景2 分析目标3 数据说明4 数据预处理5 数据分析5.1 食堂就餐行为分析5.2 学生消费行为分析 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 赛题背景 校园一卡通是集…

Intel汇编和ATT汇编的区别?

一、前缀不同 在 Intel 语法中&#xff0c;没有寄存器前缀或立即前缀。 然而&#xff0c;在 AT&T 中&#xff0c;寄存器的前缀是“%”&#xff0c;而 immed 的前缀是“$”。 Intel 语法十六进制或二进制即时数据分别带有“h”和“b”后缀。 此外&#xff0c;如果第一个十六…

算法通关村第七关——递归和迭代实现二叉树前中后序遍历

1.递归 1.1 熟悉递归 所有的递归有两个基本特征&#xff1a; 执行时范围不断缩小&#xff0c;这样才能触底反弹。终止判断在调用递归的前面。 写递归的步骤&#xff1a; 从小到大递推。分情况讨论&#xff0c;明确结束条件。组合出完整方法。想验证就从大到小画图推演。 …

使用AffNet和HardNet进行图像匹配

一、说明 我们有一个任务是找到与给定查询图像最匹配的图像。首先&#xff0c;我们在OpenCV中尝试了使用SIFT描述符和基于Flann的匹配器的经典图像匹配。结果是完全错误的。然后是词袋...最后&#xff0c;找到了AffNet和HardNet。 二、关于AffNet和HardNet 本文专门介绍如何进…

【枚举倍数+容斥】CF803 F

Problem - F - Codeforces 题意&#xff1a; 思路&#xff1a; 正难则反&#xff0c;考虑容斥 即考虑gcd ! 1的所有子序列个数 因为子序列内部无序&#xff0c;因此不算真正的子序列&#xff0c;考虑枚举倍数 根据经典套路&#xff0c;我们去枚举 gcd&#xff0c;然后去枚…