javascript类型

javascript有七种内置类型:

  • 空值(null)
  • 未定义(undefined)
  • 布尔值(boolean)
  • 数字(number)
  • 字符串(string)
  • 对象(object)
  • 符号(symbol,ES6新增)
    除对象外,其他皆是基本类型。
typeof null === "object"   //true
//检测null值
var a = null;
(!a && typeof a === "object")   //true

数组和方法都是object的子类型。

值和类型

JavaScript中的变量是没有类型的,只有值有类型。变量是可以随时持有任何类型的值。
Javascript中的undefined和undeclared(未声明)是两码事,已在作用域中但未赋值的是undefined。还没有在作用于中声明过的变量是undeclared。undefined和is not defined是两回事,但是javascript在用typeof进行类型检查时却都是‘undefined’。

var a ;
a //undefined;
b //ReferenceError: b is not defined

typeof的特殊安全防范机制(阻止报错)

//如果没有引入DEBUG,那么程序会报错
if(DEBUG){
    console.log('Debugging is starting');
}
//安全的写法
if(typeof DEBUG !== 'undefined'){
    console.log('Debugging is starting');
}

你可能感兴趣的:(javascript类型)