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 ...
随机推荐
- BZOJ 4175: 小G的电话本 SAM+FFT
4175: 小G的电话本 Time Limit: 45 Sec Memory Limit: 256 MBSubmit: 195 Solved: 48[Submit][Status][Discuss ...
- 使用HelpProvide组件调用帮助文件
实现效果: 知识运用: HelpProvider组件的HelpNameSpace属性 //于对象关联的帮助文件名 public virtual string HelpNameSpace {get; s ...
- cpp代码调试,调试扑克牌的代码
#include <iostream> #include <vector> #include <algorithm> using namespace std; cl ...
- java基础——冒泡排序
最近开始准备面试,所以将Java基础复习一遍,又学习了冒泡排序 冒泡排序的基本思想是,对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会将最小或最大的元素“浮”到顶端,最终达到完全有序 ja ...
- iOS监听电话来电、挂断、拨号等
以下,来讲解在app内如何调用打电话功能和监听电话来电.挂断.拨号等功能. 简单的UI布局: 首先,先实现拨打电话的功能,以便于后续测试: // 拨打电话 - (IBAction)dialingBut ...
- Java微信公众号开发----定时获取access_token并保存到redis中
本人原本是想做微信公众号菜单的创建修改删除等操作的,但是发现需要access_token,通过阅读文档,发现文档要求有以下几点: 1.access_token 获取后有效期是2小时 2.access_ ...
- 2-python基础
1.第一个程序 新建一个python文件,然后写上代码,运行即可 print("hello world") 2.变量 变量就是存东西,供后面来用的 变量名只能是 字母.数字或下划线 ...
- Python正则表达式详解——re库
一.简介 1.1.相关链接 官方文档: Python2:https://docs.python.org/2/library/re.html Python3:https://docs.python.or ...
- DAOMYSQLI工具类
<?php //DAOMySQLI.class.php //完成对mysql数据库操作,单例模式 //开发类 //1. 定类名 //2. 定成员属性 //3. 定成员方法[查询,dml操作] f ...
- 【jquery】 form ajaxSubmit 问题
常见问题 这个插件跟哪些版本的jQuery兼容? 这个插件需要jQuery v1.0.3 或 以后的版本. 这个插件需要其它插件的支持吗? 不需要. 这个插件的运行效率高吗? 是的!请到 对比页面 查 ...