TS中的感叹号,问号的使用

本文探讨了在TypeScript(TS)中的感叹号和问号的用法。"!!"运算符用于将表达式强制转换为逻辑值,"!. "作为非空断言操作符,确保后续属性不为null或undefined。"?"则用于表示可选参数,避免在访问对象属性时因对象可能为空而引发错误,而"??"是空值合并操作符,当左侧值为null或undefined时,返回右侧的值。
摘要由CSDN通过智能技术生成

今天在代码中发现有双感叹号的使用,当时有点蒙圈了不知道!!代表什么意思,有什么含义,下面是我查到相关解释 记录一下方便日后自己查看

! 用法:

无论是js还是ts 我们最熟知的就是用在变量前表示对这个变量取反。

另一种用法如下:

let list:Array
list = null 或者 undefind //当list等于null或undefind 没办法编译通过的
list = null! || undefind!  //在赋值的内容后使用 !可以使null和undefined类型可以赋值给其他类型并通过编译,表示该变量值可空

interface IDemo {
    x?: number     // 由于x是可选的,因此parma.x的类型为number | undefined,无法传递给number类型的y,因此需要用x!
}

let y:number

const demo = (parma: IDemo) => {
    y = parma.x!
    return y
}等同于下面
const demo = (parma: IDemo) => {
    y = parma.x || 1
    return y
}


!. 用法如下:
!.称之为非空断言操作符,和?.相反,这个符号表示对象后面的属性一定不是null或undefined。

!! 的用法如下:
!! 这个运算可以把表达式强行转换为逻辑值。

?用法&#x

在Vue项目使用TypeScript,需要进行以下几个步骤: 1. 安装TypeScript和ts-loader 在项目根目录下安装TypeScript和ts-loader: ``` npm install typescript ts-loader --save-dev ``` 2. 配置TypeScript 在项目根目录下创建`tsconfig.json`文件,用于配置TypeScript编译选项。可以使用以下命令进行初始化: ``` npx tsc --init ``` 然后可以根据自己的需求修改`tsconfig.json`文件配置,例如指定编译输出目录、指定编译目标等。 3. 配置Webpack 在Webpack配置文件对TypeScript文件的处理规则: ```javascript module.exports = { // ... module: { rules: [ { test: /\.tsx?$/, loader: 'ts-loader', exclude: /node_modules/, options: { appendTsSuffixTo: [/\.vue$/], }, }, ], }, resolve: { extensions: ['.ts', '.tsx', '.js', '.vue', '.json'], }, }; ``` 其,`appendTsSuffixTo`选项是为了兼容Vue单文件组件的`.ts`文件。 4. 创建Vue组件 创建`.vue`文件时,可以使用`.ts`作为脚本语言: ```html <template> <div> <h1>{{ message }}</h1> </div> </template> <script lang="ts"> import { Vue, Component } from 'vue-property-decorator'; @Component export default class HelloWorld extends Vue { private message: string = 'Hello, World!'; } </script> ``` 在脚本使用TypeScript时,需要先安装`vue-property-decorator`库,它提供了一些装饰器,可以方便地使用Vue的API。 5. 运行项目 使用`npm run serve`或者`npm run build`命令运行项目时,Webpack会自动调用ts-loader对`.ts`和`.tsx`文件进行编译,生成相应的JavaScript代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值