博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
随手翻译ECMA5(一)
阅读量:5747 次
发布时间:2019-06-18

本文共 1338 字,大约阅读时间需要 4 分钟。

hot3.png

8类型(Type)

在本规范的算法里,操作数都有一个对应的类型,所有的类型都在本章中定义。类型可以进一步地分为ECMA语言类型和规范类型。

ECMA语言类型是在我们使用ECMAScript语言编程的时候使用的。ECMA语言类型有UndefinedNullStringBooleanNumberObject(译者注:其中UndefinedNullStringBooleanNumber为基元类型,Object为对象,对象由基元类型构成。)

ECMA规范类型是作为元值用来辅助描述ECMAScript的语法构造和语言类型的。ECMA规范类型有ReferenceListCompletionProperty DescriptorProperty IdentifierLexcical EnvironmentEnvironment Record。在ECMAScript的实现里,规范类型的值不需要对应任何具体的实体。规范类型的值可用于表示表达式运算结果的中间值,但这些值不能作为对象的属性或者变量的值存储。

在本规范里,我们用“Type(x)”来表示x的类型,这里的类型就是上面说的ECMA语言类型和规范类型。

8.1 Undefined

Undefined类型只有唯一的一个值undefined。任何没有被赋值的变量都拥有值undefined

8.2 Null

Null类型拥有唯一值null

8.3 Boolean

Boolean类型对应一个拥有两个值的逻辑实体,这两个值为truefalse

8.4 String

String类型是由有限的0个或多个16位无符号整数组成的有序序列。在ECMAScript中一般用来代表文本数据,String中的每一个无符号整数都被当做一个代码单元(见第六章)。每个无符号整数占据字符串中的一个位置,用非负整数索引这些位置。第一个元素占据第0位,第二个整数占据第1位,以此类推。字符串的长度(length)就是这些无符号整数的个数。空字符串的长度(length)0,因此不包含任何的元素。

当一个字符串包含文本数据,其中每一个元素都被认为是独立的UTF-16单元。无论这是不是字符串的实际存储格式,它们都被认为是用UTF-16单元表示。除非特别声明,所有对字符串的操作均被当作为对16位无符号整数序列的操作。这些操作不保证结果字符串符合标准化的形式,也不保证语言的敏感性

8.5 Number

Number类型不详细翻译,看着就头大。简单说一下吧,它是用符合IEEE754标准的64位浮点数表示的。

8.6 Object

对象是属性的集合。属性可以分为数据属性,访问器属性和内部属性三种。

数据属性由名字和对应的ECMA语言类型值,和属性特性(一些布尔类型值的集合)组成。

访问器属性由名字和一个或两个访问器函数,和属性特性(一些布尔类型值的集合)组成。这两个访问器函数是用来作为提取和存储该属性值得函数。

内部属性没有名字,且不能通过ECMAScript语言直接访问。内部属性的存在纯粹是因为规范的需要。

转载于:https://my.oschina.net/u/1274710/blog/283373

你可能感兴趣的文章
开启“无线网络”,提示:请启动windows零配置wzc服务
查看>>
【SDN】Openflow协议中对LLDP算法的理解--如何判断非OF区域的存在
查看>>
纯DIV+CSS简单实现Tab选项卡左右切换效果
查看>>
栈(一)
查看>>
ios 自定义delegate(一)
查看>>
创建美国地区的appleId
查看>>
例题10-2 UVa12169 Disgruntled Judge(拓展欧几里德)
查看>>
[c语言]c语言中的内存分配[转]
查看>>
JS 原生ajax写法
查看>>
day 10 字符编码和文件处理 细节整理
查看>>
如何打造亚秒级加载的网页1——前端性能
查看>>
聊天宝彻底凉了,遭罗永浩抛弃,团队就地解散
查看>>
Composer管理PHP依赖关系
查看>>
React.js学习笔记之JSX解读
查看>>
我所了解的Libevent和SEDA架构
查看>>
Socket编程问题小记
查看>>
基于Flask-Angular的项目组网架构与部署
查看>>
Rust 2018 即将到来:设法从 Rust 2015 过渡
查看>>
一张图道尽程序员的出路
查看>>
Android 开发应该掌握的 Proguard 技巧
查看>>