javascript标准(ECMAScript® 2024 Language)解读(1)

ECMAScript® 2024 Language

本Ecma标准定义了ECMAScript 2024语言。它是ECMAScript语言规范的第15版。自1997年第一版发布以来,ECMAScript已经发展成为世界上使用最广泛的通用编程语言之一。它以嵌入web浏览器的语言而闻名,但也被广泛应用于服务器和嵌入式应用程序。
第14版ECMAScript 2023在Array上引入了toSorted、toReversed、with、findLast和findLastIndex方法。prototype和typearray。prototype,以及Array.prototype中的toSpliced方法;增加了对#!在文件开头添加注释,以便更好地执行ECMAScript文件;并允许在弱集合中使用大多数符号作为键。

代表许多组织的数十名个人在Ecma TC39中为本版本和之前版本的发展做出了非常重要的贡献。此外,一个充满活力的社区已经出现,支持TC39的ECMAScript工作。这个社区已经审查了大量的草案,提交了数千份错误报告,进行了实现实验,贡献了测试套件,并向全世界的开发人员社区介绍了ECMAScript。不幸的是,不可能确定并承认为这项工作做出贡献的每个人和组织。
Allen Wirfs-Brock
ECMA-262, Project Editor, 6th Edition

Brian Terlson
ECMA-262, Project Editor, 7th through 10th Editions

Jordan Harband
ECMA-262, Project Editor, 10th through 12th Editions

Shu-yu Guo
ECMA-262, Project Editor, 12th through 14th Editions

Michael Ficarra
ECMA-262, Project Editor, 12th through 14th Editions

Kevin Gibbons
ECMA-262, Project Editor, 12th through 14th Editions

ECMAScript

是一种面向对象的编程语言,用于在宿主环境中执行计算和操作计算对象。这里定义的ECMAScript并不打算在计算上自给自足;实际上,在本规范中没有关于外部数据输入或计算结果输出的规定。相反,我们期望ECMAScript程序的计算环境不仅提供本规范中描述的对象和其他设施,而且还提供某些特定于环境的对象,这些对象的描述和行为超出了本规范的范围,除了指出它们可能提供可以访问的某些属性和可以从ECMAScript程序调用的某些函数。

ECMAScript最初被设计为脚本语言,但现在已被广泛用作通用编程语言。脚本语言是一种编程语言,用于操作、定制和自动化现有系统的功能。在这样的系统中,通过用户界面已经可以使用有用的功能,脚本语言是将该功能暴露给程序控制的机制。通过这种方式,现有系统提供了对象和设施的宿主环境,从而完成了脚本语言的功能。脚本语言旨在供专业和非专业程序员使用。

ECMAScript最初被设计为一种Web脚本语言,提供一种机制来激活浏览器中的Web页面,并作为基于Web的客户机-服务器体系结构的一部分执行服务器计算。ECMAScript现在用于为各种主机环境提供核心脚本功能。

ECMAScript的使用已经超越了简单的脚本编写,它现在被用于许多不同环境和规模下的各种编程任务。随着ECMAScript的使用范围的扩大,它提供的特性和工具也在扩大。ECMAScript现在是一种功能齐全的通用编程语言。

web脚本

web浏览器为客户端计算提供了ECMAScript主机环境,包括,例如,表示窗口、菜单、弹出窗口、对话框、文本区域、锚、框架、历史记录、cookie和输入/输出的对象。此外,主机环境还提供了一种将脚本代码附加到诸如焦点更改、页面和图像加载、卸载、错误和中止、选择、表单提交和鼠标操作等事件的方法。脚本代码出现在HTML中,显示的页面是用户界面元素以及固定和计算的文本和图像的组合。脚本代码响应用户交互,不需要主程序。

web服务器为服务器端计算提供了不同的主机环境,包括代表请求、客户端和文件的对象;以及锁定和共享数据的机制。通过同时使用浏览器端和服务器端脚本,可以在客户端和服务器之间分配计算,同时为基于web的应用程序提供定制的用户界面。

支持ECMAScript的每个Web浏览器和服务器都提供自己的主机环境,从而完成ECMAScript执行环境。

ECMAScript概述

ECMAScript是基于对象的:基本语言和主机功能由对象提供,而ECMAScript程序是一组通信对象。
在ECMAScript中,对象是零个或多个属性的集合,每个属性都有决定如何使用每个属性的属性—例如,当属性的Writable属性设置为false时,执行的ECMAScript代码为该属性分配不同值的任何尝试都会失败。
属性是保存其他对象、基本值或函数的容器。基本值是下列内置类型之一的成员:Undefined、Null、Boolean、Number、BigInt、String和Symbol;
对象是内置类型object的成员;
函数是一个可调用的对象。通过属性与对象关联的函数称为方法。

ECMAScript定义了一组内置对象,使ECMAScript实体的定义更加完善。
这些内置对象包括全局对象;
对语言的运行时语义至关重要的对象,包括Object、Function、Boolean、Symbol和各种Error对象;
表示和操作数字值的对象,包括Math、Number和Date;
文本处理对象String和RegExp;
对象是值的索引集合,包括Array和九种不同类型的类型化数组,其元素都具有特定的数字数据表示;
键集合包括Map和Set对象;支持结构化数据的对象,包括JSON对象、ArrayBuffer、SharedArrayBuffer和DataView;支持控制抽象的对象,包括生成器函数和Promise对象;以及反射对象,包括Proxy和Reflect。

ECMAScript还定义了一组内置操作符。ECMAScript操作符包括各种一元操作符、乘法操作符、加法操作符、位移位操作符、关系操作符、相等操作符、二进制位操作符、二进制逻辑操作符、赋值操作符和逗号操作符。

大型ECMAScript程序由模块支持,这些模块允许将程序划分为多个语句和声明序列。每个模块显式地标识它所使用的需要由其他模块提供的声明,以及它的哪些声明可供其他模块使用。

ECMAScript语法有意地类似于Java语法。ECMAScript语法比较宽松,使其能够作为一种易于使用的脚本语言。例如,变量不需要声明其类型,类型也不需要与属性相关联,定义的函数也不需要在调用它们之前以文本形式显示它们的声明。

猜你喜欢

转载自blog.csdn.net/AI_LX/article/details/130528199