javascript - ' !!window.google ' 是什么意思?

标签 javascript vue.js

<分区>

enter image description here

我正在通读 https://markus.oberlehner.net/blog/using-the-google-maps-api-with-vue/ .在屏幕截图的部分中,作者使用:

let initialized = !!window.google;

这是什么意思?

最佳答案

window.google 要么计算为某物,要么计算为未定义

在回答您的问题之前,我们需要了解 "truthiness" 的概念

In JavaScript, a truthy value is a value that is considered true when encountered in a Boolean context. All values are truthy unless they are defined as falsy (i.e., except for false, 0, "", null, undefined, and NaN

好的,回到你的问题。让我们假设它是某种东西(真实值)。 !something 将计算为 false。 !false 的计算结果为 true,因此 !!something 的计算结果为 true。

现在假设它是undefined。在这种情况下,!undefined 的计算结果为 true,然后 !true 的计算结果为 false。因此,!!undefined 的计算结果为 false。

换句话说:如果它是某物(真实的),它就被初始化。如果没有,那么它还没有被初始化。

因此,! 在真值(某物)之前会使它变为假,然后额外的 ! 否定它。真事成真,假事成假。

关于javascript - ' !!window.google ' 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56297517/

相关文章:

javascript - session 存储值未显示在第二页中

javascript - vue 组件(静态)不工作。我想要解决方案

javascript - laravel 在 javascript 中设置图像源路径错误

Vue.js - 以编程方式设置插槽内容

javascript - Vuetify 数据表不显示数据

javascript - Vue - 你可能需要一个额外的加载器来处理这些加载器的结果

vue.js - 如何在 Nuxt.js 中使用 Mixpanel

javascript - Canvas .getImageData : "Uncaught Error: SECURITY_ERR: DOM Exception 18"

javascript - 数组中的 "..."(三点)表示法是什么意思?

javascript - 流类型 : Field between square brackets