资讯专栏INFORMATION COLUMN

深入浅出Javascript:类型

tuomao / 3298人阅读

摘要:布尔类型在作为的实例时会进行装箱操作。布尔在中新添加的类型。对一个值使用可能返回未定义布尔字符串数值对象或会返回,因为特殊值会被认为是一个空对象的引用函数

Javascript 的类型 6种原型数据类型

js有6种原型数据类型( null,undefined,boolean,number,string,Symbol

null – 空

null只有null一个值,表示一个空对象指针。一般用来初始化变量(即先定义出一个变量,在此之后用于保存对象)。

在Javascript的运行环境里不会产生null值,除非你在代码中有显式的赋值(通常情况下你得到的会是undefined而不是null,只有一个例外就是document.getElementById,它会在找不到元素的情况下返回null)。有节制的使用undefined来替代null会更容易追踪bug。

var as = null;//undefined
console.log(as);//null

访问它的任何属性都会失败。

null.asd
//Uncaught TypeError: Cannot read property "asd" of null(…)

null无法装箱(把基本数据类型转换为对应的引用类型的操作称为装箱,把引用类型转换为基本的数据类型称为拆箱)。

undefined - 未定义

当访问一个对象中不存在的属性时就会得到一个undefined。

document.nonexistent  //undefined

访问它的任何属性也都会失败。

undefined.asd
//Uncaught TypeError: Cannot read property "asd" of null(…)

undefined无法装箱。

string - 字符串

"asd","asd"(使用单引号和双引号均可)。

字符串在作为String的实例时会进行装箱操作(new String("asd");)。

number - 数字

例如:5,3e+10(所有数字都是浮点型的,尤其是分数,但是可以用x >>> 0来取出整数位)。

数字在作为Number的实例时会进行装箱操作。

boolean - 布尔

有2个值(true和false)。

布尔类型在作为Boolean的实例时会进行装箱操作。

symbol - 布尔

Symbol ( 在 ECMAScript 6 中新添加的类型)。一种数据类型,它的实例是唯一且不可改变的。

另外3种基于Object对象的引用类型 object - 对象

例如:{foo: "bar", bif: [1, 2]},是真正的哈希表。

总是会装箱。

是Object的实例。

function - 函数

例如:function(x) { return x + 1;}。

必定装箱。

Function的实例。

array- 数组

例如:[1, 2, "foo", [3, 4]]。

总是会进行装箱。

是Array的实例。

RegExp - 正则表达式

例如:/foos*([bar]+)/。

总是会装箱。

是RegExp的实例。

判定类型

由于js是松散类型(数据类型具有动态性),我们一般用typeof来鉴定 变量的值 的类型。

对一个值使用typeof可能返回

undefined(未定义)

boolean(布尔)

string(字符串)

number(数值)

object(对象或null)【typeof null会返回object,因为特殊值null会被认为是一个空对象的引用】

function(函数)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79294.html

相关文章

  • JavaScript深入浅出第4课:V8引擎是如何工作的?

    摘要:摘要性能彪悍的引擎。深入浅出系列深入浅出第课箭头函数中的究竟是什么鬼深入浅出第课函数是一等公民是什么意思呢深入浅出第课什么是垃圾回收算法深入浅出第课是如何工作的最近,生态系统又多了个非常硬核的项目。 摘要: 性能彪悍的V8引擎。 《JavaScript深入浅出》系列: JavaScript深入浅出第1课:箭头函数中的this究竟是什么鬼? JavaScript深入浅出第2课:函数是一...

    hsluoyz 评论0 收藏0
  • JavaScript深入浅出

    摘要:理解的函数基础要搞好深入浅出原型使用原型模型,虽然这经常被当作缺点提及,但是只要善于运用,其实基于原型的继承模型比传统的类继承还要强大。中文指南基本操作指南二继续熟悉的几对方法,包括,,。商业转载请联系作者获得授权,非商业转载请注明出处。 怎样使用 this 因为本人属于伪前端,因此文中只看懂了 8 成左右,希望能够给大家带来帮助....(据说是阿里的前端妹子写的) this 的值到底...

    blair 评论0 收藏0
  • JS程序

    摘要:设计模式是以面向对象编程为基础的,的面向对象编程和传统的的面向对象编程有些差别,这让我一开始接触的时候感到十分痛苦,但是这只能靠自己慢慢积累慢慢思考。想继续了解设计模式必须要先搞懂面向对象编程,否则只会让你自己更痛苦。 JavaScript 中的构造函数 学习总结。知识只有分享才有存在的意义。 是时候替换你的 for 循环大法了~ 《小分享》JavaScript中数组的那些迭代方法~ ...

    melody_lql 评论0 收藏0
  • 【进阶1-3期】JavaScript深入之内存空间详细图解

    摘要:进阶期理解中的执行上下文和执行栈进阶期深入之执行上下文栈和变量对象但是今天补充一个知识点某些情况下,调用堆栈中函数调用的数量超出了调用堆栈的实际大小,浏览器会抛出一个错误终止运行。 (关注福利,关注本公众号回复[资料]领取优质前端视频,包括Vue、React、Node源码和实战、面试指导) 本周正式开始前端进阶的第一期,本周的主题是调用堆栈,今天是第3天。 本计划一共28期,每期重点攻...

    coordinate35 评论0 收藏0
  • js基础深入浅出

    摘要:当多个事件触发的时候,会把异步事件依次的放入里等同步事件执行完之后,再去队列里一个个执行拾遗常用方法总结面试的信心来源于过硬的基础参考高级程序设计你所不知道的深入浅出知识点思维导图经典实例总结那些剪不断理还乱的关系 持续不断更新。。。 基本类型和引用类型 vue props | Primitive vs Reference Types 基本类型和字面值之间的区别 基本类型和字面值相等,...

    phodal 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<