JavaScript知识总结-数据类型

数据类型

JavaScript的数据类型???很多初学者在学习时并没有特别在意过JavaScript的数据类型,可能是因为JavaScript是弱类型语言(松散类型)这使得我们在定义变量时并不会显示的声明变量的类型。但着并不代表JavaScript没有数据类型。JavaScript有六种简单类型和一种复杂类型。
简单类型:

名称意义
String字符串类型
Number数值类型
Boolean布尔类型
Symbol符号类型(ES6新增)
Undefined未定义
Null空指针对象

复杂类型:

名称意义
Object对象类型

判断类型

JavaScript中如何判断变量的类型?JavaScript在声明变量时没有直接定义变量的类型,但我们可以使用typeof操作符来确定变量的类型。

  let varString = "varString";
  let varNumber = 1;
  let varBoolean = true;
  let varSymbol = Symbol();
  let varUndefined;
  let varNull = null;
  let varObject = new Object()
  console.log(varString);   //值为varString
  console.log(varNumber);   //值为1
  console.log(varBoolean);  //值为true
  console.log(varSymbol);   //值为Symbol()
  console.log(varUndefined);//值为undefined
  console.log(varNull);     //值为null
  console.log(varObject);   //值为{}
  console.log(typeof varString);   //值为string
  console.log(typeof varNumber);   //值为number
  console.log(typeof varBoolean);   //值为boolean
  console.log(typeof varSymbol);   //值为symbol
  console.log(typeof varUndefined);   //值为undefined
  console.log(typeof varNull);   //值为object
  console.log(typeof varObject);   //值为object

Null类型为什么被typeof操作符确认为object类型?因为null被认为是对空对象的引用。

Undefined类型

Undefined类型只有一个值——undefined。当一个变量被声明但没有被初始化时,这个变量会被赋值为undefined。那如果我们将变量初始化为undefined,其实二者是一样的。所以说一般不会显示的为变量赋值为undefined。

  //不进行初始化
  let varUndefined;
  console.log(typeof varUndefined);   //值为undefined
  //进行初始化
  let varUndefined = undefined;
  console.log(typeof varUndefined);   //值为undefined

Null类型

Null类型只有一个值——null,null表示一个空指针对象。Undefined的值是由null派生而来。如果使用表达式undenfined==null,则返回true。但是与undefined不同,当需要声明一个变量用于保存对象,在给这个变量进行初始时,可以为变量赋值为null。

Boolean类型

Boolean类型有两个值分别是true和false。Boolean值在大多数情况下是由表达式产生的,常用于if判断。Boolean值也可以由不同的类型转变而来。如下表:

数据类型truefalse
Booleantruefalse
String非空字符串空字符串
Number非零数值0
Object非空对象null
Undefinedundefined

Number类型

Number类型分为两类,一类是整数型,一类是浮点型。

let intNum = 1;//整数型
let floatNum = 1.1//浮点型

如果数值非常大可以使用科学计数法

let bigNum = 1.1e7;//科学计数法,值为11000000

就像其他类型可以转换为Boolean类型一样,一些类型的特殊值也可以转化为Number类型,函数Numbe()用于将其他类型值转化为Number类型,函数parseInt()和函数parseFloat()主要用与将字符串转化为数值。

//Numbe()
let num1 = Number(true) // 1
let num2 = Number(false) // 0
let num3 = Number(null) // 0
let num4 = Number("1") // 1
let num5 = Number("01") // 1
let num6 = Number("") // 0
//parseInt()
let num1 = parseInt("1") // 1
let num2 = parseInt("") // NaN
let num3 = parseInt("S1") // NaN
let num4 = parseInt("1S") // 1
let num5 = parseInt("1.1") // 1
let num6 = parseInt("10",2) // 2 二进制解析
let num7 = parseInt("10",8) // 8 八进制解析
let num8 = parseInt("10",10) // 10 十进制解析
let num9 = parseInt("10",16) // 16 十六进制解析
//parseFloat()
let num1 = parseFloat("1.1") // 1.1
let num2 = parseFloat("") // NaN
let num3 = parseFloat("S1.1") // NaN
let num4 = parseFloat("1.1S") // 1.1
let num5 = parseFloat("1") // 1

String类型

String类型表示零个或多个字符序列。String类型可以使用双引号,单引号和反引号进行标示。可使用toString()方法进行类型转换。

let string1 = "tree"
let string2 = 'tree'
let string3 = `tree`
//toString
let number = 1
let numburToString = number.toString()// "1"
let boolean = true
let booleanToString = boolean.toString()// "true"

模板字面量

模板字面量是ES6新增的特性。即在反引号(``)内定义需要的字符串和格式。注意模板字面量是保留换行符和空格的。同时模板字面量也支持字符串插值操作,通过在${}中添加表达式实现。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值