×

ECMAScript:了解下ECMAScript 原始类型有哪些?

作者:demo2022.12.06来源:Web前端之家浏览:477评论:0
关键词:js

ECMAScript:了解下ECMAScript 原始类型有哪些?

ECMAScript有5种原始类型(primitive type),即Undefined、Null、Boolean、Number和String。

ECMA-262 把术语类型(type)定义为值的一个集合,每种原始类型定义了它包含的值的范围及其字面量表示形式。

ECMAScript 提供了 typeof 运算符来判断一个值是否在某种类型的范围内。可以用这种运算符判断一个值是否表示一种原始类型:如果它是原始类型,还可以判断它表示哪种原始类型。

“undefined” ------->如果这个值未定义。

"null’---------->如果这个值是布尔值。

“string” -------->如果这个值是字符串。

“number”------->如果这个值是数值

“object”--------->如果这个值是对象或者null。

“function”------->如果这个值是函数。

1、Undefined类型
Undefined只有一个值,即特殊的undefined。在使用var声明变量但未对其加以初始化,这个值就是undefined。
如(推荐):

var message;
alert(message == undefined);

等价于:

var message = undefined;
alert(message == undefined);

一般不存在需要显示地把一个变量设置为undefined。
字面值undefined的主要目的是用于比较。
ECMA-262第3版本之前没有定义undefined。
第3版引入是为了正式区分空对象和未初始化的变量。

包含undefined和未定义的变量还是不一样的。如下:

var msg;
//var age;
alert(msg);//undefined
alert(age);//尚未声明的变量age

2、Null类型
只有一个值的数据类型,即null。从逻辑上null是一个空对象指针,这正是为什么在使用typeof操作符的结果为"object"的原因。

var car = null;
alert(typeof(car));//"object"

如果定义的变量是用来保存对象,最好将变量初始化为null。这样只要检查null值就可以知道相应的变量是否保存了一个对象的引用。

if(car != null){
	//对car进行操作
}

undefined是派生自null值的。因此ECMA-262规定它们的相等性测试为true。

alert(null == undefined);//true
alert(null === undefined);//false

here,位于null和undefined之间的相等操作符(==)h总是返回true。
but,这个操作符出于比较会修改操作数。
它们的用途完全不同。

3、Boolean类型

Boolean类型是ECMAScript中使用最多的一种数据类型,它的值有两个,真(true)或假(false)。
注意
true和false与数字值不是一回事。

true不一定为1,false也不一定为0 。

var found = true;
var lost = false;

Boolean类型的字面值true和false是区分大小写的。that is to say,True 和False不是Boolean类型的值,而死标识符。

虽然Boolean值只有两个,但是所有的数据类型都有与这两个Boolean值等价的值。

要讲一个值转换为其对应的Boolean值,可以调用转型函数Boolean(),如下所示:

var msg = "you are my friend";
var megsAsBoolean = Boolean(msg);

4、Number类型

这种数据类型使用IEEE754格式来表示整数和浮点数(浮点数值再某些语言中也被称为双精度数值)。为支持各种数值类型,ECMA-262定义了不同的数值字面量格式。
最基本的数值字面量是十进制数整数,如下写法:

var intNum = 55;

还有八进制和十六进制。
八进制的第一位必须是0,然后八进制的序列为0~7,。
超出范围会怎么样尼???

如果字面量中的数值超出了范围,就会忽略前导0,后面的数值被当做十进制解析。

var octalNum1 = 070;//八进制56
var octalNum2 = 079;//无效的八进制数值----->解析为79
var octalNum = 08;//无效的八进制,-----解析为8

您的支持是我们创作的动力!
温馨提示:本文作者系 ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://jiangweishan.com/article/js20221206a1.html

网友评论文明上网理性发言 已有0人参与

发表评论:

最新留言

  • jenny

    VUE的总结的不错啊,收藏了。下次搞点React的啊...

  • jenny

    win7最经典,想当初win8出来后都没它好用,怀恋经典。。。...

  • Terry

    谢谢提醒,插件已经修复。...

  • 访客

    士大夫士大夫...

  • 访客

    用這甚麼顏色...

  • fg123

    提示什么报错信息?...

  • 访客

    为什么第一步点击提交后弹出框点击确认后没有反应?...

  • fati

    刚好遇到setState的问题,感谢分享!...

首页|JavaScript|HTML|HTML4|HTML5|CSS3|开发工具|性能优化|移动开发|前端教程|性能优化|开发工具|酷站欣赏|UI设计|前端教程

Copyright © 2023 Web前端之家(www.jiangweishan.com) 版权所有 All Rights Reserved.
粤ICP备12067512号-1

Copyright Your WebSite.Some Rights Reserved.

Powered By Z-BlogPHP 1.7.2