js基本数据类型有哪些种类(五种基本数据类型介绍)

 分类:js知识时间:2023-04-07 07:30:01点击:

众所周知,JavaScript有7中数据类型,分别为: Number、Boolean、String、Undefined、Null、Object以及Symbol类型,其中前5种数据类型为基本数据类型,本文主要对这5种基本数据类型需要注意的或容易迷惑的点进行讲解,重点内容即---真假判断。


1、Number 类型

let num = 666;
  1. 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,重要的话说三遍!!!

除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址: