数据类型是字面含义,表示各种数据的类型。在任何语言中都存在数据类型,因为数据是各式各样。
1.数值类型 number
let a = 1;
let num =1.1;
// 整数小数都是数字值
// 数字肯定有个范围 正无穷大和负无穷大
// Infinity 正无穷大
// -Infinity 负无穷大
//特殊值
let num1 = 0 / 0;// NaN
console.log(num1);
// NaN:not a number 表示“非数字”(Not a Number)
NaN
是一个特殊的值,它的类型是number
,表示一个损坏的数值,通常出现在有不能转换为数字的数据参与运算时产生。
2.字符串类型 String
console.log("我们无限老师真帅");
// 字符串是用 单引号 和 双引号包裹起来的 在控制台输出的字是黑色
// 字符串内出现其它引号 用两个不同的引号
let str1 ="无限说: '今晚' 学习大家要好好理解 ";
console.log(str1);
// 我就要使用两个一样的单引号 使用转义字符 反斜杠\
let str2 = "放心 \"无限哥哥\" 我们会好好学习的";
console.log(str2);
// 添加的字符串换行 转义: \n
let text = '你真的\n是个大聪明\n鸭 ';
console.log(text);
// 定义字符串方法
let str3 = String("想吃饭了");
console.log(str3);
// 字符串拼接是用加号
var str4 = '小手';
var str5 = '拉';
var str6 = '大手';
var str = str4 + str5 + str6;
console.log(str);
// js可以识别+号两侧 但凡+号一侧是字符串 那么就算是 字符串拼接
console.log("你好"+1);
// 获取字符串的长度 length 获取下标的长度
console.log(str , str.length);
//模板字符串 ${}
let age =22
console.log(`我今年${age}岁了`)
3.布尔类型 boolean
-
布尔值类型只有两个值:真
true
和 假false
。用于判断。 -
typeof true
得到"boolean"
。
turn; //真的
false; //假的
4.Undefined类型 表示值未定义 空间会留着
-
已声明 但未赋值的变量的默认值是 undefined
-
在控制台直接输入 typeof undefined 得到 "undefined"
let love;
console.log(love); //undefined
5.Null 空类型
null表示一个空,变量的值如果想为null,必须手动设置
let x = null;
console.log(x)
// 注意:`typeof null`得到`"object"`。
6.bigint 超大整数
-
Number.MAX_SAFE_INTEGER js能表示的最大的整数
-
Number.MIN_SAFE_INTEGER js能表示的最小的负整数
判断类型
typeof 类型判断
// 数字
console.log(typeof 2);
// 字符串
console.log(typeof '哈哈');
// 布尔值
console.log(typeof false);
// undefined
console.log(typeof undefined);
// null 但是它返回的是object 空对象
console.log(typeof null);
isNaN 方法是用来判断一个值是否为NaN
console.log(isNaN(NaN)); //true
console.log(isNaN(22)); //false
isFinite方法返回一个布尔值,表示某个值是否为正常的数值
// 主要用来是判断 正常的值
console.log(isFinite(2222));
console.log(isFinite(Infinity));
console.log(isFinite(NaN));
// 注意一点 null
console.log(isFinite(null));
//返回true null会默认转化为0
类型转换
显示类型转换
// 常见需求是在数字、布尔值、字符串三者之间进行转换
let a = 123
// String() 转字符串
let str = String(a) // 将a转换为字符串
//Boolean() 转布尔值
let str1= Boolean(a) // 将a转换为布尔值
//Number()转数字 将布尔值true转为数字1
let num = Number(true);// 1
隐式类型转换
//加号是特殊 + 任何值与字符串进行 + 运算 结果都是字符串
let num = "123" + true;
console.log(num2);
// 除了+以外的算术运算符 比如 - * / 等都会把数据转成数字类型。
let num1 = "123" - 1;
console.log(num1);//结果是 122