ECMPScript 标准规定了六种基本数据类型和一种引用类型(引用类型下次再单独写)。
一、基本数据类型:
- Number: JavaScript中所有的数字不区分整型数值和浮点数量,而是把它们统归为数字直接量,它是一个浮点数值,可支持两个种格式的直接量。
① 整型直接量:用parseInt() 来转换,它可接受两个值,第一个是接受的要转换的值,第二个是要转换的数字的基数,比如 十六进制,八进制,十进制,二进制,如果这个数小于二,则为NaN。整型最大值为 2的53次方,即Math.pow(2,53),最小值为 -2的53次方,即 Math.pow(-2,53)。
② 浮点型直接量。用parseFloat()来强制转换,可接受一个参数。这个参数如果开头和结尾包含空格,则默认省略掉,开头如果有非数值类型,则返回NaN,结尾的非数值类型会忽略掉。浮点型最大值 可用 Number.MAX_VALUE 计算,最小值用 Number.MIN_VALUE计算。
2. Boolean:布尔类型,它只有两个值,true 和 false ,用于判断真假。其他任何类型都可以被 new Boolean() 和 Boolean() 转换成布尔类型的值。
数字 0 会被转为 false 来判断,其他正数或负数为 true, 注意:null,“”,undefined,NaN 也会被转为 false
我们在开发功能的时候,可以用到这些小技术,比如,filter 过滤返回返回的时候,可以配合 indexOf 在数组中的位置 利用 0 为false ,其他数值为true,这个概念 +1,可以省略至少四行代码…
// // typeScript 的语法
productFocus(value: String): void{
this.productOptions = this.productOptionsMiddle.filter(product=>{
return product.name.indexOf(value) + 1 // indexOf 如果未查找到则返回 -1
})
}
- String:字符串类型。用“”或‘’来表示一串字符,在es6中,它又被称作模板字面量,用~~表示,可以在里面写${},放置变量或表达式。
可以在字符字面量中加 \n 退格 、\b 换行 等特殊字符。
也可以在 字符字面量后面加中括号指字取哪个。
// typeScript 的语法
let str: String = 'my name is chenxuemin \n ,and your?'
//my name is chenxuemin
// ,and your?
let str2: String = '256'[0] //等同于 let str2 = '256'.charAt(0)
// 2
let str3: String = 'doing'
let str4: String = `What are you ${str3}`
- null:空类型。是指未创建的对象,当用 typeOf 判断 Null 时会显示它为一个Object。
- undefined:未定义类型,表示变量未被定义和赋值 。
- symbol:es6新增,表示独一无二的值。