更新时间:2023-06-16 来源:黑马程序员 浏览量:
在开发中,当不确定一个变量或值是什么数据类型的时候,可以利用 typeof 运算符进行数据类型检测。示例代码如下。
console.log(typeof 12); // 输出结果:number console.log(typeof!12'); // 输出结果:string console.log(typeof true); // 输出结果:boolean console.log (typeof undefined) ; // 输出结果:undefined console.log(typeof null); // 输出结果 :object
在上述示例中,typeof检测 null 值时返回的是 object,而不是 null,这是 JavaScript 最初实现时的历史遗留问题,后来被ECMAScript沿用下来。
使用typeof可以很方便地检测变量的数据类型,示例代码如下。
var age= prompt请输人您的年龄); console.og(age) console.log(typeof age);
上述代码执行后,如果用户什么都不输入,单击“确定”按钮,则age 的值为空字符串类型为string;如果单击“取消”按钮,则age的值为null,类型为 object;如果输入的是-个数字,则age的值是用字符串保存的数字,类型为string。
typeof运算符的返回结果是一个字符串,可以使用比较运算符“==”来判断typeof返回的检测结果是否符合预期,示例代码如下。
vara=112'; console.log(typeof a==istring'); // 输出结果 :true console.log(typeof a== inumber'); // 输出结果:false
在上述代码中,“typeofa”的返回结果是string,在与字符串string 比较时,结果为true,表示a是string类型;与number 比较时,结果为false,表示a不是number类型。
字面量
在阅读JavaScript 的一些教程、文档时,我们经常会遇到字面量的概念。字面量是指源代码中的固定值的表示法,简单来说,就是用字面量来表示如何在代码中表达这个值。通过字面量,我们可以很容易地看出来它是哪种类型的值。常见的字面量如下。
数字字面量:8、9、10 字符串字面量:!hello'、"world" 布尔字面量:true、false 数组字面量(在后面会学到):[1,2,3] 对象字面量(在后面会学到):{ name:·小明,age:18 }