Closed sailei1 closed 5 years ago
JavaScript 有七种内置类型:null、undefined、boolean、number、string、object、symbol。 除object之外,其他统称为“基本类型”。
typeof undefined === "undefined"; // true typeof true === "boolean"; // true typeof 42 === "number"; // true typeof "42" === "string"; // true typeof { life: 42 } === "object"; // true // ES6中新加入的类型 typeof Symbol() === "symbol"; // true //typeof null 比较特殊 typeof null === "object"; // true //判断null var a = null; (!a && typeof a === "object"); // true typeof function a(){ /* .. */ } === "function"; // true typeof [1,2,3] === "object"; // true 数组也是对象
JavaScript 中的变量是没有类型的,只有值才有。变量可以随时持有任何类型的值。 变量在未持有值的时候为 undefined 已在作用域中声明但还没有赋值的变量,是 undefined 的。相反,还没有在作用域中声明过的变量,是 undeclared 的。
var a; typeof a ==='undefined' typeof Undeclared===‘undefined'
如何在程序中检查全局变量 DEBUG 才不会出现 ReferenceError 错误。这时 typeof 的 安全防范机制就成了我们的好帮手:
// 这样会抛出错误 if (DEBUG) { console.log( "Debugging is starting" ); } // 这样是安全的 if (typeof DEBUG !== "undefined") { console.log( "Debugging is starting" ); }
JavaScript 有七种内置类型:null、undefined、boolean、number、string、object、symbol。 除object之外,其他统称为“基本类型”。
JavaScript 中的变量是没有类型的,只有值才有。变量可以随时持有任何类型的值。 变量在未持有值的时候为 undefined 已在作用域中声明但还没有赋值的变量,是 undefined 的。相反,还没有在作用域中声明过的变量,是 undeclared 的。
如何在程序中检查全局变量 DEBUG 才不会出现 ReferenceError 错误。这时 typeof 的 安全防范机制就成了我们的好帮手: