js——数据类型

数据类型分类

6种简单数据类型:

  • Undefined
  • Null
  • Boolean
  • Number
  • String
  • Symbol

1种复杂的数据类型

  • Object

判断数据类型

1、typeof操作符
 "undefined"表示值未定义;
 "boolean"表示值为布尔值;
 "string"表示值为字符串;
 "number"表示值为数值;
 "object"表示值为对象(而不是函数)或 null
 "function"表示值为函数;
 "symbol"表示值为符号。

各类型简单介绍

1、Undefined类型
  Undefined类型只有一个值: undefined
  当我们使用了var或let声明变量但没有初始化的时候,就相当于给变量赋予了undefined值。
2、Null类型
  Null类型同样只有一个值:null
  逻辑上讲,null值表示一个空对象指针,这也是给typeof传一个null会返回object的原因

let car = null;
console.log(typeof car) // 'object'

  在定义将来要保存对象值的变量时,建议使用 null 来初始化,不要使用其他值。这样,只要检查
这个变量的值是不是 null 就可以知道这个变量是否在后来被重新赋予了一个对象的引用,比如:

if (car != null) { 
 // car 是一个对象的引用
}

console.log(undefined) 	// true
** 
  即使 nullundefined 有关系,它们的用途也是完全不一样的。如前所述,永远不必显式地将
变量值设置为 undefined。但 null 不是这样的。任何时候,只要变量要保存对象,而当时又没有那个
对象可保存,就要用 null 来填充该变量。这样就可以保持 null 是空对象指针的语义,并进一步将其
与 undefined 区分开来。
  null 是一个假值。因此,如果需要,可以用更简洁的方式检测它。不过要记住,也有很多其他可
能的值同样是假值。所以一定要明确自己想检测的就是 null 这个字面值,而不仅仅是假值。
**

3、Boolean类型
  Boolean(布尔值)类型有两个字面值: true 和 false
  虽然布尔值只有两个,但所有其他 ECMAScript 类型的值都有相应布尔值的等价形式。要将一个其他类型的值转换为布尔值,可以调用特定的 Boolean() 转型函数。

let str = 'hello, world ';
let strBoolean = Boolean(str);   // true
** Boolean()函数可以在任意类型的数据上调用,并且始终返回一个布尔值 **

不同类型与布尔值的转换规则
在这里插入图片描述  总结空字符串0NaNnullundefined 会转换为false
  掌握上述转换十分重要,像if等控制语句会自动执行其他类型值到布尔值的转换,例如:

let msg = 'hello, world!'
if(msg) {
	console.log('value is true')
}

4、Number类型
   数值类型
  (1)、NaN(not a number ) 不是数值
  可以用isNaN()函数来判断这个参数是否 ‘不是数值’
  (2)、数值转换
  有三个函数可以将非数值转换为数值:Number( )parseInt( )parseFloat( )
Number()

let num1 = Number("Hello world!"); // NaN 
let num2 = Number(""); // 0 
let num3 = Number("000011"); // 11 
let num4 = Number(true); // 1

parseInt()

一般情况建议使用parseInt( ) , 并传入第二个参数 10

let num1 = parseInt("1234blue"); // 1234 
let num2 = parseInt(""); // NaN 
let num3 = parseInt("0xA"); // 10,解释为十六进制整数
let num4 = parseInt(22.5); // 22 
let num5 = parseInt("70"); // 70,解释为十进制值
let num6 = parseInt("0xf"); // 15,解释为十六进制整数
** 接收第二个参数作为进制数
let num = parseInt("0xAF", 16); // 175
let num1 = parseInt("AF", 16); // 175 
let num2 = parseInt("AF"); // NaN

parseFloat()

与parseInt( )类似

let num1 = parseFloat("1234blue"); // 1234,按整数解析
let num2 = parseFloat("0xA"); // 0 
let num3 = parseFloat("22.5"); // 22.5 
let num4 = parseFloat("22.34.5"); // 22.34 
let num5 = parseFloat("0908.5"); // 908.5 
let num6 = parseFloat("3.125e7"); // 31250000

5、String类型
  String(字符串)数据类型表示零或多个 16 位 Unicode 字符序列。字符串可以使用双引号(")、
单引号(’)或反引号(`)标示,因此下面的代码都是合法的:

let firstName = "John"; 
let lastName = 'Jacob'; 
let lastName = `Jingleheimerschmidt`

(1)、字符字面量

\n			换行
\r			回车
\b			退格
\f			换页
\t			制表

(2)、字符串特点
  ECMAScript 中的字符串是不可变的(immutable),意思是一旦创建,它们的值就不能变了。要修改
某个变量中的字符串值,必须先销毁原始的字符串,然后将包含新值的另一个字符串保存到该变。
(3)、转换为字符串 toString( ) String( )

let num = 123;
num.toString() 
String(123)

6、Symbol类型
   下周写吧 - 0 -

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值