JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
学习目标
1.了解JS中的7种数据类型
2.掌握“==”和“===”的区别和使用
3.掌握JS中数据类型转换的规则
7种数据类型
在JS中,一共有7种数据类型:undefined、null、布尔、数字、字符串、对象和符号。其中,前六种是基本数据类型,后面会详细介绍对象类型。
undefined和null
undefined表示一个声明了但未被赋值的变量,null表示一个空对象指针,即一个已经被赋值为null的变量。在使用时,不要将null和undefined与其他值做比较,因为null和undefined只与自身严格相等,与其他任何值都不相等,包括它们本身的类型也不相等。
布尔、数字和字符串
布尔类型用于表示逻辑上的“真”和“假”,其值只有两个:true和false。数字类型可以表示各种数值,包括整数和浮点数。字符串类型用于表示文本,可以使用单引号、双引号或反引号括起来。
对象和符号
对象类型用于表示一组相关的数据和功能,比如日期对象、数组对象、函数对象等等。符号类型是ES6新增的类型,用于表示唯一的标识符。
“==”和“===”的区别和使用
在JS中,可以使用“==”和“===”来比较两个值是否相等。“==”是非严格比较,会进行类型转换,而“===”是严格比较,不会进行类型转换。
在使用时,建议使用“===”进行比较。只有在确实需要进行类型转换的情况下,才使用“==”。
示例1
let a = 10;
let b = '10';
console.log(a == b); // true,会将b转换为数字类型10再进行比较
console.log(a === b); // false,类型不一致
示例2
let c = undefined;
let d = null;
console.log(c == d); // true,只有null和undefined两种情况会相等
console.log(c === d); // false,类型不一致
数据类型转换规则
在JS中,有些操作会导致数据类型转换,比如将字符串转换为数字、将对象转换为原始值等等。JS中的数据类型转换比较灵活,有时候会出现一些意想不到的结果。
字符串转换为数字
在将字符串转换为数字时,JS会尝试将字符串解析为数字,如果解析失败,则会返回NaN。如果字符串是以数字开头的,JS会将这个数字解析出来,否则返回NaN。
console.log(parseInt('123')); // 123
console.log(parseInt('123abc')); // 123
console.log(parseInt('abc')); // NaN
对象转换为原始值
当JS需要将对象转换为原始值时,会调用对象的valueOf()和toString()方法。valueOf()方法用于返回对象的原始值,toString()方法将对象转换为字符串。
let obj = {
valueOf: function() {
return 10;
},
toString: function() {
return 'obj';
}
};
console.log(Number(obj)); // 10,调用valueOf()方法返回原始值
console.log(String(obj)); // 'obj',调用toString()方法转换为字符串
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型 - Python技术站