ECMA-262 Extractions
For the purpose of this article, ECMA-262 refers to ECMAScript® 2017 Language Specification.
ECMAScript Data Types & Values
- Each value has an associated type.
- Types are subclassified into ECMASCript language types & specification types.
- An ECMAScript language type (ESLT) corresponds to values that are directly manipulated by an ECMAScript programmer using the ECMAScript language.
- the ESLTs are
Undefined,Null,Boolean,String,Symbol,Number, andObject. - An ECMAScript language value (ESLV) is a value that is characterized by an ESLT.
- A type is a set of data values.
object
- An object is a member of the type
Object. - A property is part of an object that associates a key (key, also termed "key value", is either a
Stringvalue, including the empty string, or aSymbolvalue) and a value. - An object is a collection of properties and has a single "prototype" property.
- A prototype is an object that provides shared properties for other objects.
- Each property is either a data property, or an accessor property:
- A data property associates a key value with an ESLV and a set of
Booleanattributes. - An accessor property associates a key with one or two accessor functions, and a set of
Booleanattributes. The accessor functions are used to store or retrieve an ESLV that is associated with the property.
- A data property associates a key value with an ESLV and a set of
- An own property is a property that is directly contained by its object.
- An inherited property of an object is one that is not an own property but is a property (either own or inherited) of the object's prototype.
- A function is an object that may be invoked as a subroutine.
- A method of an object is a function that is the value of a property.
- An attribute of a property is an internal value that defines characteristic of the property.
More about objects:
Even though ECMAScript (ES) include syntax for class definitions, ES objects are not fundamentally class-based such as those in C++, Smalltalk, or Java. Instead objects may be created in various ways including via literal notation or via constructors which creates objects and then execute code that initializes all or part of them by assigning values to their properties. Each constructor is a function that has a property named "prototype" that is used to implement prototype-based inheritance and shared properties.
Every object created by a constructor has an implicit reference to the value of its constructor's "prototype" property. Further more, a prototype may have a non-null implicit reference to its prototype. and so on; this is called the prototype chain. When a reference is made to property in an object, that reference is to the property of that name in the first object in the prototype chain that contains a property of that name.
ECMA-262 Extractions的更多相关文章
- 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介
前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...
- javascript、ECMAScript、DOM、BOM关系
ECMAScript,正式名称为 ECMA 262 和 ISO/IEC 16262,是宿主环境中脚本语言的国际 Web 标准. ECMAScript 规范定义了一种脚本语言实现应该包含的内容:但是,因 ...
- 7.31 签到,js 全局预处理笔记
js 解析与执行过程: 一.全局: 1.预处理阶段 : 1.LexicalEnviroment === window {1.预处理 var | 2.function xxx //预处理申明的 ...
- ECMAScript和JavaScript的联系
ECMAScript是一种规范,一种标准.类似于编程语言的接口,定义好一套规范后,各大浏览器厂商遵循规范各自实现之,同时,也做了一些扩展,这些扩展就是规范里面没有的. JavaScript是一种实现, ...
- JavaScript(暂时弃坑...)
简单数据类型:字符串型.布尔型.数值型 变量名可以包含数字.字母.下划线.$,但不能以数字开头,大小写敏感,不能是JavaScript关键字.避开保留字 //JavaScript保留字 break e ...
- es6英文文档翻译
ECMA-262英文文档翻译,github地址: https://github.com/zhoushengmufc/es6 ECMA-262英文文档翻译,在线地址: http://zhoushengf ...
- js API
从基础知识JS-web-API js基础知识:ECMA 262标准 js-web-API: w3c标准 W3c标准中关于js的规定有 DOM操作.BOM操作.事件绑定.ajax请求(包括http协议) ...
- JS的 instanceof 方法
http://www.cnblogs.com/jasonxuli/p/6769282.html 这是 2014-12-10 发在 iteye 上的文章 今天突然想起js的原型继承模型和相关的proto ...
- .net学习-扩展
uwp uwpapp-斗鱼,微信等 云和移动优先 远程桌面连接设置 teamviewer V8内核 Node.js javascript 事件循环 express框架 bootstrap NoSQL ...
- 深入理解javascript闭包【整理】
原文链接:http://www.cn-cuckoo.com/2007/08/01/understand-javascript-closures-72.html 英文原文:http://www.jibb ...
随机推荐
- 日常-acm-三位数反转
输入一个三位数,分理出它的百位,十位和个位,反转后输出. 样例输入: 127 样例输出: 721 tips:注意最后一位为0的情况,如360,输出063 #include <iostream&g ...
- 《实战Python网络爬虫》- 感想
端午节假期过了,之前一直在做出行准备,后面旅游完又休息了一下,最近才恢复状态. 端午假期最后一天收到一个快递,回去打开,发现是微信抽奖中的一本书,黄永祥的<实战Python网络爬虫>. 去 ...
- java基础—GUI编程(一)
一.AWT介绍
- bootstrap历练实例:面板脚注
面板脚注 我们可以在面板中添加脚注,只需要把按钮或者副文本放在带有 class .panel-footer 的 <div> 中即可.下面的实例演示了这点: <!DOCTYPE htm ...
- 基于Nodejs的爬虫
简介 基于 Node.JS 爬取 博客园 1W+博文,对博文内容做关键词提取,生成词云. 演示 安装 安装 git.Node.JS.MongoDB.Yarn 克隆代码 git clone git@gi ...
- jquery源码学习第一天
第一天认识了jquery的大体结构,总的大范围是 (function() { // 这里是封装的代码,包括了各种方法.工具 window.JQuery = JQuery window.$ = $; } ...
- JAVA实现webSocket网页聊天室
一.什么是webSocket WebSocket 是一种网络通信协议,是持久化协议.RFC6455 定义了它的通信标准. WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全 ...
- mysql关联查询
mysql数据库的统计------生成统计信息 1.distinct:在一组之中将各个唯一的值找出来,如找出所有的品牌种类 mysql>select distinct brand_kind fr ...
- Linux网络配置指令
版权声明:本文为博主原创文章,未经博主允许不得转载. 原文地址: https://www.cnblogs.com/poterliu/p/6686799.html 重启网卡service network ...
- H5 JS判断客户端是否是iOS或者Android手机移动端
<script type="text/javascript"> var u = navigator.userAgent; || u.indexOf(; //androi ...