本文主要是介绍js,ts中简写符号大全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
falsy 值(虚值):是在布尔值Boolean上下文中认定为 false 的值。在 JavaScript 中只有 8 个 falsy 值,包括undefined、null、false、空字符串 (双引号 ""、单引号’’、反引号 ``)、NaN、0。
nullish 值:要么是 null 要么是 undefined 。nullish 值总是 falsy 。
一. js中符号
1. ||
如果||前面的值是0 '' false null undefined NaN其中的任意一种,则直接返回||后面的值
function(obj){var a = obj || {}}// 等价于 =>>function(obj){var a;if( obj === 0 || obj === "" || obj === false || obj === null || obj === undefined || isNaN(obj)){a = {}} else {a = obj;}}
2. ??
如果||前面的值是null undefined 其中的任意一种,则直接返回??后面的值
function(obj){var a = obj ?? {}}// 等价于 =>>function(obj){var a;if( obj === null || obj === undefined){a = {}} else {a = obj;}}
3. ?. 可选链
在未定义属性时使用可选链运算符,undefined将返回而不是错误。这可以防止你的代码崩溃
const personal = {name: "lwl",address: {state: "New York"},}// 使用可选链操作符console.log(personal?.address?.ZIPCode) // 输出:undefinedpersonal.array?.map()// 返回undefined,不会崩溃
4. !!
将表达式强制转化为boolean值运算,运算结果为true或者false
falsy值 返回 false,空数组返回true
5. ??=
逻辑空赋值运算符(x ??= y)仅在 x 是 nullish(null 或 undefined) 时对其赋值
const a = { duration: 50 };a.duration ??= 10;console.log(a.duration);// expected output: 50
6. !!= &&=
逻辑或赋值运算符(x !!= y)仅在 x 是 假值(Boolean值) 时对其赋值
逻辑或赋值运算符(x &&= y)仅在 x 是 真值 时对其赋值
var a = 0;a ||= 10;console.log(a); //输出10var a = 1;a &&= 10;console.log(a); //输出10
二.ts 中 ? !
ts比js多了2个符号 即? !
1.?
表示该属性或参数为可选项
interface IDemo {x?: number // 参数为可选项}
2. !
表示类型推断排除null、undefined,用于属性后面
// 由于x是可选的,因此parma.x的类型为number | undefined,无法传递给number类型的y,因此需要用x!interface IDemo {x?: number // 参数为可选项}let y:number // 参数为number类型const demo = (parma: IDemo) => {y = parma.x! // 变量值可空return y}const personal = {name: "lwl",address: {state: "New York"}, }personal.array!.map()
这篇关于js,ts中简写符号大全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!