1.4面试题总结
Http contentType Etag相关
https://www.cnblogs.com/dark-duck/p/14288228.html
CSS position相关
https://www.cnblogs.com/dark-duck/p/14288292.html
JS
null instanceof Object的结果是什么
- false
- 原因:null表示为空的引用;instanceof 表示某个变量是否是某个对象的实例 ;虽然null的类型是object,但是null不具有任何对象的特性、
null === Object.prototype.proto的结果是什么
- true
- 原因:null表示"没有对象",即该处不应该有值
可选链(?.)
可选链操作符( ?. )允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。?. 操作符的功能类似于 . 链式操作符,不同之处在于,在引用为空(nullish ) (null 或者 undefined) 的情况下不会引起错误,该表达式短路返回值是 undefined
空值合并(??)
空值合并操作符(??)是一个逻辑操作符,当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数。
|| 是一个布尔逻辑运算符,左侧的操作数会被强制转换成布尔值用于求值。任何假值(0, '', NaN, null, undefined)都不会被返回。
const nullValue = null;
const emptyText = ""; // 空字符串,是一个假值,Boolean("") === false
const someNumber = 42;
const valA = nullValue ?? "valA 的默认值";
const valB = emptyText ?? "valB 的默认值";
const valC = someNumber ?? 0;
console.log(valA); // "valA 的默认值"
console.log(valB); // ""(空字符串虽然是假值,但不是 null 或者 undefined)
console.log(valC); // 42