- ECMAScript中6种 简单数据类型: Underfined Null Boolean Number String Symbol
- 复杂数据类型:Object
typeof操作符
typeof 是为确定任意变量 数据类型 而生的 例子:
let message ="any string";
console.log(typeof message);// "string"
console.log(typeof (message));// "string"
console.log(typeof 1);// "number"
注意:特殊值null被认为是一个空对象的引用,调用typeof时返回的是"object"
undefined 和 null 类型
- 使用var或者let 声明变量 但 未初始化 的情况下,会默认给变量赋予underfined值。所以说 声明 未声明 typeof都返回underfined
- null表示的是一个空对象指针,所以typeof下是返回"object"
话不多说看代码
let a ;//声明 未定义
//let age 未声明
let name = null ;
let sno ;
console.log(a);// underfined
console.log(age); // 报错
console.log(typeof a) // underfined
console.log(typeof age) // underfined
consolelog(name) // object
if(a){
//不执行
}
if(!a){
//执行
}
if(sno){
//不执行
}
if(!sno){
//执行
}
Boolean
Bolean:true 和 false 两个字面值,区分大小写,不同类型之间可用Boolean()转型函数转换
在if等流控制语句中体现尤为重要
Number
NaN 表示返回数值失败 isNaN()函数判断参数是否"不是数值" Number()转型函数,可用如何数据类型 parseInt() 和 parseFloat() 主要用于将字符串转换为数值,都从位置0开始检测,不同之处parseFloat()始终忽略字符串开头的0 需得到整数可优先使用 parseInt()函数
- 布尔值: true转为1 false转为0
- 数值: 直接返回
- undefined: 返回NaN
- 字符串:都返回十进制数值 空字符串返回0 情况之外则返回NaN
- 对象: 调用valueOf() 转换结果如果是NaN,则用toString()方法
String
- 字符串类型:可用双引号(""),单引号(''),反引号标示,字符串长度可用 length 属性获取。要修改字符串值,要先将原始字符串销毁,用包含新值的另一个字符串保存到变量
- 转换为字符串的方法:
- toString() null和undefined无该方法 传入参数还可得到不同的进制数
- 在不确定是否有null,undefined,可用string()方法
- 加号操作符给值加上个空字符串""也可转换为字符串
- 模板字面量 模板字面量可跨行定义字符串,它会保持反引号内部的空格,还可支持字符串插值,所有差人的值都会使用toString()强制转换为字符串,插值表达式中可以调用函数和方法,可插入自己之前的值
let foo =(toString:() => 'World');
console.log(`Hello,${foo}!`); //Hello,World!
function capitalize(word){
return `${ word [0].toUpperCase()}${word.slice(1)}`;
}
console.log(`${ capitalize('hello)},${capitalize('world')}!`);//Hello,World!