ES6基本数据类型总结

ES5的基本数据类型有:Number,String,Boolean,null,undefined

ES6基本数据类型:Number,String,Boolean,null,undefined,symbolbigint(后两个为ES6新增)

引用数据类型:
object,function(proto Function.prototype)
object:普通对象,数组对象,正则对象,日期对象,Math数学函数对象。

1.symbol为ES6新增数据类型

Symbol 的本质是表示一个唯一标识。每次创建一个Symbol,它所代表的值都不可能重复。所以理论上 Symbol 的存在只有一个意义:用于必须使用唯一值的场景。

运用例子:

	 let id1 = Symbol('id');
	 console.log(id1);//输出symbol(id)

作用:(1)防止命名冲突:

const persons = {
 'hobby': 'reading',
 'hobby': 'playingGame'
}
 
console.log(persons.hobby); //输出 'reading'
使用Symbol作为Key可以避免这种情况:
 
const hobby1 = Symbol('hobby');
const hobby2 = Symbol('hobby');
 
const persons = {
 [hobby1]: 'reading',
 [hobby2]: 'playingGame'
}
 
console.log(persons[hobby1]); // 输出'reading'
console.log(persons[hobby2]); // 输出'playingGame'

(2)使用symbol定义枚举类型(这样保存唯一性)

方法调用:
通过Symbol.keyFor()获取到全局的symbol对象:

 let name1 = Symbol.for('name');
 let name2 = Symbol.for('name');
 console.log(Symbol.keyFor(name1));  //输出 'name'
 console.log(Symbol.keyFor(name2)); //输出 'name'

2.BigInt为ES6新增数据类型

BigInt数据类型的目的是比Number数据类型支持的范围更大的整数值以任意精度表示整数的能力尤为重要。使用BigInt,整数溢出将不再是问题。

*新增BigInt原因:在js中的数字类型是按照IEEE 754-2008标准的定义,所有数字都以双精度64位浮点格式表示,任何超出此范围的整数值都可能失去精度,因此需要BigInt,增加程序可靠性和安全性。

运用例子:

	 let num1 = 10n//可以直接后面加“n”成为BigInt
	 let num2 = BigInt(10)//或者直接定义
	 console.log(num1 === num2)//输出true

持外还支持其他进制(如八进制,二进制等)
一些特性:
(1)不能使用严格相等运算符将BigInt与常规数字进行比较,因为它们的类型不同
(2)因为隐式转换可能会导致信息丢失,所以不允许在 BigInt 和 Number 之间进行混合操作
(3)不能单用+进行操作,其他符号可以

		 console.log(1n + 20n)//输出21n
		 console.log(+20n)//这个会报错
		 console.log(1n * 2n)//输出2n
		 console.log(10n % 3n)//输出1n
		 console.log(2n / 2n)//输出1n

3.Boolean类型:
例子:

		console.log(Boolean([]))//输出true
		console.log(Boolean({}))//输出true
		console.log(Boolean(0))//输出false
		console.log(Boolean(""))//输出false
		console.log(Boolean(" "))//输出true (多了空格)
		console.log(Boolean(function(){}))//输出true
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JavaScript 中有五种基本数据类型: 1. 字符串 (string) 2. 数字 (number) 3. 布尔值 (boolean) 4. undefined 5. null 此外,JavaScript 还有一种复杂数据类型:对象 (object)。 ### 回答2: 在JavaScript中,有六种基本数据类型。 1. 数字(Number):用于表示数值。包括整数和浮点数,例如1、3.14等。 2. 字符串(String):用于表示文本数据。用引号(单引号或双引号)括起来,例如'hello'、"world"。 3. 布尔值(Boolean):用于表示真(true)或假(false)的逻辑值。 4. 空值(Null):用于表示一个空值或不存在的值。 5. 未定义(Undefined):用于表示未定义的值,即已声明但未赋值的变量。 6. 符号(Symbol):是ECMAScript 6中新增的一种数据类型,用于表示独一无二的值。 除了这六种基本数据类型JavaScript还有一种复杂数据类型,叫做对象(Object)。对象是一种无序的数据集合,由多个键值对组成,键是字符串类型的属性名,值可以是任意类型的数据。 总结起来,JavaScript基本数据类型有:数字、字符串、布尔值、空值、未定义和符号。而对象则是一种复杂数据类型。 ### 回答3: 在JavaScript中,有7种基本数据类型。 1. 数字(Number):用于表示数字,包括整数和浮点数,比如1、3.14等。 2. 字符串(String):用于表示文本,需要用单引号或双引号括起来,比如'hello'、"world"等。 3. 布尔值(Boolean):用于表示真(true)或假(false),用于条件判断和逻辑运算。 4. 空(Null):表示一个空值,常用于初始化一个变量。 5. 未定义(Undefined):表示一个未定义的值,常用于表示声明但未赋值的变量。 6. 对象(Object):用于表示复杂的数据结构,可以包含多个属性和方法。 7. 符号(Symbol):引入ES6中的新的数据类型,表示独一无二的值,用于创建对象的私有属性。 这些基本数据类型可以用来存储不同类型的数据,可以进行各种操作和运算。在JavaScript中,变量的类型是动态的,可以根据具体的值来自动推断出类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值