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) // 输出:undefined
    
    personal.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); //输出10

var 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()

相关推荐

  1. js,ts简写符号大全

    2024-04-20 19:54:03       13 阅读
  2. 数学符号大全

    2024-04-20 19:54:03       14 阅读
  3. C++符号->

    2024-04-20 19:54:03       25 阅读
  4. linux的“->“符号

    2024-04-20 19:54:03       8 阅读
  5. MCS-51指令符号的意义

    2024-04-20 19:54:03       33 阅读
  6. SQL 连接类型大全

    2024-04-20 19:54:03       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-20 19:54:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-20 19:54:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-20 19:54:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-20 19:54:03       20 阅读

热门阅读

  1. uniapp小程序——长按识别二维码

    2024-04-20 19:54:03       12 阅读
  2. Ansible相关

    2024-04-20 19:54:03       13 阅读
  3. Python数据挖掘项目开发实战:大数据处理

    2024-04-20 19:54:03       13 阅读
  4. RTT学习

    2024-04-20 19:54:03       12 阅读
  5. 11篇 Es集群环境安装的步骤

    2024-04-20 19:54:03       10 阅读
  6. Spring-Aop源码解析(下)

    2024-04-20 19:54:03       13 阅读
  7. 前端-renren-ui学习

    2024-04-20 19:54:03       13 阅读
  8. 自动化运维工具Ansible模块的介绍与使用

    2024-04-20 19:54:03       12 阅读
  9. 作文笔记7 说明文说明方法

    2024-04-20 19:54:03       10 阅读