💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## typeof运算符 用于确定当前变量的值是什么数据类型 * typeof运算符 ```javascript console.log(typeof 123); // number console.log(typeof '123'); // string console.log(typeof true); // boolean console.log(typeof test); // function console.log(typeof undefined); // undefined console.log(typeof [1,2,3]); // object console.log(typeof {}); // object console.log(typeof null); // object ``` * 数组的类型也是object,这说明在Javascript中,数组本质上只是一种特殊的对象。( 遗留的问题:null和undefined的区别;) * 这里我们发现数组、对象、和 null 都是对象,但是在判断类型的时候都判断为object并不能很好的区分开来。为了能区分这三者,我们可以使用Object.prototype.toString方法。 ## `Object.prototype.toString`方法 要精确判断对象类型可以使用js中的`Object.prototype.toString`方法(判断对象属于那种内置对象类型); ~~~javascript console.log(Object.prototype.toString.call(123)) //"[object Number]" console.log(Object.prototype.toString.call('123')) //"[object String]" console.log(Object.prototype.toString.call(undefined)) //"[object Undefined]" console.log(Object.prototype.toString.call(true)) //"[object Boolean]" console.log(Object.prototype.toString.call(null)) //"[object Null]" console.log(Object.prototype.toString.call({})) //"[object Object]" console.log(Object.prototype.toString.call([])) //"[object Array]" console.log(Object.prototype.toString.call(function(){})) //"[object Function]" ~~~