今天夯实Javascript的基础知识,并进行记录。
Javascript null类型错误bug
Javascript中的类型中存在一个bug,当我们使用typeof null表达式时,返回的结果是object与undefined不同,在实际开发中应该注意。
使用如下代码进行查看:
// 查看null在JavaScript中的类型
console.log(`null的类型是 ${typeof null}`);
在控制台中我们可以看到输出为
JavaScript中字符串模板的使用
在上面使用的字符串用法就是JavaScript ES6后的字符串模板写法,我们可以使用${}的方式在字符串中使用变量和表达式,这种模板写法用``反引号进行声明。比如在如下代码我定义了一个man对象,并使用字符串模板来获取对象中的值,代码如下:
const man = {
firstName: "李",
job: "老师",
birthYear: 1991,
year: 2022
};
console.log(`我姓${man.firstName},一个${man.year - man.birthYear}岁的${man.job}!`);
并且在这种模板中我们构造字符串的格式不用向之前版本或者其他编程语音那样使用特殊的转义字符来进行调整(如:\n \t 之类),可以直接保留我们输入的格式,同时也支持使用转义字符。
比如下面我们要构建一个html网页的基本标签,我们可以使用混合的写法来呈现格式:
// 使用反引号构造HTMl基本内容及格式
const text = `<!DOCTYPE html>
<html>
\t<head>
\t</head>\n\t<body>
</body>
</html>
`;
console.log(text);
实际输出的结果如图所示:
这种方法实际上在Vue项目中构造模板时经常使用,可以帮助我们很方便的构造模板。
Javascript中的数据类型转换
自动类型转换,这个是编译器隐式帮我们进行的类型转换,一般包括字符串类型转换、数字类型转换和布尔值类型转换,如下展示自动类型转换:
我们可以看到第一行中的变量被隐式转换为字符串类型,而之后的三行都被隐式转换为数字类型。
实际上我们还可以采用手动的显示转换,使用对应数据类型开头字母大写的方法即可进行数据类型转换。
注意boolean逻辑类型的转换往往是隐式的,并且都发生在使用了逻辑运算符的表达式或者逻辑判断子句中,下面是一些boolean类型转换的示例:
Javascript中的比较运算符与其他编程语言不同,有===三等号和==双等号的区别其中:
===:会先进行类型判断,如果类型一致再进行值判断,只有都一致才会返回true
==:也会先进行类型判断,不过类型不一致会进行自动类型转换再进行判断