Duke Yin's Technology database

JavaScript 小功能

?? Nullish coalescing operator

为了避免变量为null或者undefined

例如:

number = number ?? 0

假如number存在,则赋值。要是number不存在或为null,则给number赋值0

上语等同于:

if(number == null){
 number = 0
}

? Ternary Operator

避免子项不存在:

apple = forest.tree.apple
apple = forest?.tree?.apple

apple = tree.apple?.[0]
apple = tree.apple[0]

如果forest存在,再继续往下取其tree,如果tree存在,再往下取其apple,不会因为子项不存在报错。

forest.Pick()

forest.Pick?.()

避免function不存在。先检查function是否存在且是一个function,如果不存在则不继续,也不会报错。

? : Conditional check

condition ? value if true : value if false

如果条件成立,则执行冒号左边,否则执行右边

result = (1 > 2) ? true : false
// false

赋值简写

const name = "duke"
const hobby = "paint"

const duke = {
  name = name,
  hobby = hobby
}

可简化成:

const name = "duke"
const hobby = "paint"

const duke = {
  name,
  hobby
}

defer 延迟加载

<head>
<script src="scripts.js" defer>
</head>

当script标记带有“defer”参数时,即便是在头部,也会等待整个html加载完之后再执行(但会提前下载)。

script的下载提前了,有助于提高加载速度。

Console log 样式

console.log(
 `%c${name} in %c${address}`,
"font-weight:bold;font-size:5px",
"color:red"
)

%c 作为分隔,按顺序参数对应分割后的各个段。

#

引用关闭,但你能发布评论.

评论

标注 * 的为必填项。