美文网首页
Javascript知识整理——类型

Javascript知识整理——类型

作者: 俗三疯 | 来源:发表于2017-09-04 08:59 被阅读14次

“类型” 对语言引擎和开发人员来说,类型是值的内部特征,它定义了值的行为,以使其区别于其他值

Javascript 有七种内置类型

  • 空值(null)
  • 未定义(undefined)
  • 布尔值(boolean)
  • 数字(number)
  • 字符串(string)
  • 对象(object)
  • 符号(symbol,ES6新增)

除对象外其他统称为“基本类型”

使用typeof运算符来查看值的类型

typeof undefined // 'undefined'

typeof Symbol //'symbol'

注意点:

  • typeof null === 'object'; // true
    需要使用复合条件检测null值的类型

    (!a&&typeof a ==='object'); // true 后者是用来排除其他类型!a为false的情况,如undefined, true等的情况

  • typeof function a(){/*..*/} === 'function' // true
    函数实际上是object的一个子类型————“可调用对象”,它有一个内部属性[[Call]],该属性使其可以被调用,因此函数可以像对象一样拥有属性

  • typeof [1,2,3] === 'object' // true
    数组也是object的一个“子类型”,也属于对象,数组的元素按数字顺序来进行索引(而非普通对象那样通过字符串键值),其length属性是元素的个数

  • 对变量使用typeof操作时,得到的结果并不是该变量的类型,而是该变量持有的值的类型(字符串表示),因为Javascript中的变量没有类型

Javascript中的变量是没有任何类型的,只有值才有,变量可以随时持有任何类型的值,即Javascript不做“类型强制”,也就是说,语言引擎不要求变量总是持有与其初始值同类型的值

undefined和undeclared

  • 变量在未持有值的时候为undefined,此时typeof返回'undefined'
    var a ;
    typeof a ; // 'undefined'

  • 已在作用域中声明但还没有赋值的变量,是undefined的,相反,还没有在作用域中声明过的变量,是undeclared的
    var a ;
    a;//undefined
    b;//ReferenceError: b is not defined
    typeof a ;// 'undefined'
    typeof b ;// 'undefined' 什么gui !

  • typeof undeclared是一种安全防范机制,在某些情况下是个不错的办法
    (1)在程序中使用全局变量DEBUG作为“调试模式”的开关
    (2)在别人在他们的程序或模块中复制粘贴你的代码的时候,检查你用到的变量是否已经在宿主程序中定义过

上文为《你不知道的JS中卷》笔记

相关文章

  • Javascript知识整理——类型

    “类型” 对语言引擎和开发人员来说,类型是值的内部特征,它定义了值的行为,以使其区别于其他值 Javascript...

  • Javascript知识整理——强制类型转换

    值类型转换 将值从一种类型转换为另一种类型通常称为类型转换,这是显式的情况;隐式的情况称为强制类型转换 类型转换发...

  • JavaScript中容易忽略的知识点

    本文整理了JavaScript中容易出错,或者易被忽略的知识点。 1. String是不可变类型 字符串类型Str...

  • JS之正则

    今天整理引用类型对象之字符集,知识需要不断的巩固整理,实践,才能牢记于心 一:参考资料 JavaScript简易教...

  • JavaScript知识整理

    JavaScript 字符串 概念 定义了字符串之后,就有了一个字符串对象,可以访问他的长度属性,这个属性不需要定...

  • JavaScript 类型冷知识

    这里整理一些 JavaScript 中类型的一些冷知识~ 为什么有的编程规范要求用 void 0 代替 undef...

  • Javascript学习笔记-类型

    重新回顾一下Javascript中类型相关的知识 1. 基本类型 Javascript截止目前有7个基本类型:nu...

  • Javascript 数据类型检测及原理

    前言 数据类型检测是 JavaScript 中既基础又考验原理的知识,如果你对 JavaScript 数据类型检测...

  • Typescript基础知识

    Typescript 就是 Javascript 的超集,所以首先你要知道 Javascript 基础知识 类型注...

  • Js易错点梳理

    前言 本文是学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,...

网友评论

      本文标题:Javascript知识整理——类型

      本文链接:https://www.haomeiwen.com/subject/wozcjxtx.html