-1

我正在关注浏览器检测教程,该教程使用两个!!非运算符作为回报。我想知道使用 2 的意义是什么!!在一个代码中。

function supports_geolocation() {
  return !!navigator.geolocation;
}

我相信!!navigator.geolocation === navigator.geolocation

如果不是,请纠正我,让我知道在这里使用两个非运算符的意义。

4

1 回答 1

1

它强制返回布尔值。

// navigator.geolocation is GeoLocation object
navigator.geolocation === true // return false
!!navigator.geolocation === true // returns true
于 2015-10-31T18:33:26.693 回答