JavaScript TypeScript 中的 Boolean
Posted 泡泡机不冒泡了
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript TypeScript 中的 Boolean相关的知识,希望对你有一定的参考价值。
boolean
是 javascript 中一种有趣的原始数据类型。在TypeScript中,非严格模式下("strictNullChecks": false
),它总共允许4个值 true 、false、undefined、null
。
JavaScript 中的 Boolean
boolean
可以取值 true
或 false
。 其他类型的值可以是真值或假值,例如 undefined
或 null
。
let b = true
if(b) console.log(\'logged\')
b = false
if(b) console.log(\'not logged\')
b = undefined
if(b) console.log(\'not logged\')
b = null
if(b) console.log(\'not logged\')
要获取任何值对应的布尔值,可以使用Boolean
函数
Boolean(false) // false
Boolean(true) // true
Boolean("false") // true ❗️
Boolean("Hey folks") // true
Boolean({}) // true
Boolean([]) // true
Boolean(123.4) // true
Boolean(Symbol()) // true
Boolean(function() {}) // true
Boolean(undefined) // false
Boolean(null) // false
Boolean(NaN) // false
Boolean(0) // false
Boolean("") // false
!!
运算也可以达到类似 Boolean()
的效果
const value = \'hello world\';
Boolean(value); // true
!!value; // true
Airbnb 的编码风格 偏向使用 !!
进行 boolean
值转换
const age = 0;
// bad
const hasAge = new Boolean(age);
// good
const hasAge = Boolean(age);
// best
const hasAge = !!age;
很多时候 !!
和 Boolean()
可以相互替换。 !!
好处在于编码时快捷,但 Boolean()
是函数, 可以作为方法入参传递,很适合用来过滤集合中的空值。
const collection = [
{ name: \'A\'},
undefined,
"false",
false,
23,
null
]
collection.filter(Boolean) //[{ name: \'A\'}, "false", 23]
与 Number
转换函数一起使用,将所有值转换为对应的数字或NaN
,这是一种快速获取实际值的非常酷的方法:
const x = ["1.23", 2137123, "wut", false, "lol", undefined, null]
.map(Number)
.filter(Boolean) // [1.23, 2137123] 以上是关于JavaScript TypeScript 中的 Boolean的主要内容,如果未能解决你的问题,请参考以下文章
如何将 D3 JavaScript 中的“this”翻译成 TypeScript?
Typescript Express 项目中的客户端 Javascript