js基本数据类型有哪些种类(五种基本数据类型介绍)
众所周知,JavaScript有7中数据类型,分别为: Number、Boolean、String、Undefined、Null、Object以及Symbol类型,其中前5种数据类型为基本数据类型,本文主要对这5种基本数据类型需要注意的或容易迷惑的点进行讲解,重点内容即---真假判断。
1、Number 类型
let num = 666;
1) 浮点数的精度问题
0.1 === 0.1; // true 0.1+0.2 === 0.1+0.2; // true 0.1 + 0.2; // 控制台输出: 0.30000000000000004 0.1 + 0.2 === 0.3; // false (10/3 - 3) === 1/3; // false (1/3 - 1/3) === 0; // true
小结:单个浮点数与自己比较时为true,多个浮点数进行加减运算与其对应的加减运算结果比较也为true,可称为自身为真性;多个浮点数进行加减运算,与人为通过数学公式计算得到的结果相比较为false,亦可称其为自身反射性。
1.2) NaN (not a number)
// 判断数据类型 let num = 666; typeof num; // number // 类型转换函数 let x = Number('x'); // NaN typeof x; // number // NaN的相关运算 NaN + 666; // NaN NaN === NaN; // false
小结: NaN进行任何运算,运算结果都为NaN;任何比较均为false。
2、Boolean 类型
3、String 类型
let str1 = 'hello'; let str2 = new String('hello') ; let str3 = new String('hello'); str1 == str2; // true str1 == str3; // true str1 === str2; // false str1 === str3; // false str2 == str3; // false str2 === str3; // false
小结:值类型与new出来的对象存在隐式转换;两个对象之间无论是==还是===,因为引用的不是用一个对象,所以结果都为false。
4、Undefined 类型
let name; typeof name; // undefined let a , b; a === b; // true console.log(w == q); // Uncaught ReferenceError: w is not defined
小结:已声明但未赋值的两个变量相比较为true,未声明的两个变量相比较会报错,即未声明的量是不能参与比较的。
5、Null 类型
typeof null; // object, null === null; // true let name; null == name; // true null === name; false console.log(null === sex); // Uncaught ReferenceError: sex is not defined
小结:
null与NaN不同,它自身相比较为true;null与只声明但未赋值的变量相比较注意全等时因一个类型为null,一个类型undefined,所以为false; 此外,为声明的变量是不能参与比较的,否则会报错!null的数据类型为object,null的数据类型为object,null的数据类型为object,重要的话说三遍!!!
除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址:https://tangjiusheng.cn/js/3884.html
原文地址:https://tangjiusheng.cn/js/3884.html