Javascript类型系统——对未定义和空的全面理解

Javascript类型系统——对未定义和空的全面理解
在前面的话

Generally speaking, the program language is empty only null, but the designer of Javascript Brendan Eich has designed a undefined, which undoubtedly increases the complexity of the program, but there are some reasons for this.This article will give a detailed description of the undefined and null in Javascript

从历史上看,当Javascript 1995出生,就像java,只有空成立了一个非价值。根据C语言的传统,空的设计是自动转换为0

但布兰登·艾奇,Javascript的设计师,觉得这是不够的,有两个原因。第一,空的,如java,被视为一个对象。然而,Javascript的价值分为两大类,原始类型和对象类型,和布兰登·艾奇发现,表示没有人比对象的值。其次,Javascript的初始版本不包含错误处理机制。当数据类型不匹配,它经常自动转换或失败无声。布兰登·艾奇觉得如果空自动变成0,发现一个错误是不容易的。

所以,布兰登·艾奇设计了一个未定义的。这是他区别的方式:零是一个对象,表示没有,当它变成0值;定义的是一个原始值代表了什么,变成了一个数字的值

但目前,零和未定义基本上是同义的,所有的原始类型,只有一些细微的差别。

的undefinedundefined类型只有一个值,即定义。当声明的变量没有初始化,该变量的默认值是未定义的。所以一般来说,明确指出变量未初始化

var测试
console.log(测试= =不明) / /真实;
var测试=未定义的;未定义的
只有一个操作可以是一个变量,尚未宣布执行,使用typeof运算符来检测它的数据类型,但在严格的模式导致错误。
Typeof(测试); / /未定义
{现场}

{ 1 }未赋值的变量被声明

{ 2 }获取对象不存在的属性

{ 3 }没有返回值的函数的执行结果

{ 4 }函数的参数未被引入。

{ 5 }无效(表达式)
var i;
console.log(我); / /未定义

var;
console.log(OP); / /未定义

函数(f){ };
console.log(f()); / /未定义

函数f(x){返回x;}
console.log(f()); / /未定义

console.log(void(0)); / /未定义
{类型转换}
布尔(未定义):false
编号(未定义):楠
字符串(定义):'undefined
无效的

null类型只有一个值,即NULL是Javascript语言的关键字,它表示一个特殊值,它通常用来描述空值。

从逻辑的角度来看,null值表示空对象指针。

{ NULL NULL是一个空对象指针,而{是空数组,{是空对象,三个是不一样的。
console.log(typeof null); / / 'object
虽然null和未定义是不同的,但它们都表示值的空缺,这两个常常是可互换的。

console.log(空= =不明) / /真实;
实际上,因为未定义和null不是类型构造函数,所以它们没有属性和方法,也没有任何用途。{访问成员或方法的两个值将产生类型错误。

{类型转换}
布尔(空):false
编号(NULL):0
字符串(null):'null
以上Javascript类型系统——全面理解定义和空是萧边分享你的全部内容。我希望能给你一个参考,希望你能得到很多支持
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部