当前位置: 首页 > news >正文

集团品牌网站建设网站制作平台

集团品牌网站建设,网站制作平台,三丰云免费服务器,合优网站建设文章目录 TypeScript 特有运算符1. keyof2. typeof3. in4. extends5. is6. as 和 <Type>7. never8. readonly9. ?10. []11. | 和 &12. !13. ?? 和 ?. 总结 TypeScript 特有运算符 1. keyof 作用&#xff1a;用于获取对象类型的所有键&#xff08;属性名&#x…

文章目录

    • TypeScript 特有运算符
      • 1. `keyof`
      • 2. `typeof`
      • 3. `in`
      • 4. `extends`
      • 5. `is`
      • 6. `as` 和 `<Type>`
      • 7. `never`
      • 8. `readonly`
      • 9. `?`
      • 10. `[]`
      • 11. `|` 和 `&`
      • 12. `!`
      • 13. `??` 和 `?.`
    • 总结

TypeScript 特有运算符

1. keyof

  • 作用:用于获取对象类型的所有键(属性名)组成的联合类型。
  • 语法keyof Type
interface Person {name: string;age: number;
}type PersonKeys = keyof Person; // "name" | "age"

2. typeof

  • 作用:用于获取变量或值的类型。
  • 语法typeof variable
let j: string = "hello";
type JType = typeof j; // string

3. in

  • 作用:用于检查对象是否包含某个属性。
  • 语法key in object
interface User {name: string;age: number;
}let m: keyof User = "name";
let n: User = { name: "风茫", age: 18 };
console.log(m in n); // true

4. extends

  • 作用:用于泛型约束,表示一个类型是否是另一个类型的子类型。
  • 语法T extends U
function add<T extends number>(a: T, b: T): T {return a + b;
}add(1, 2); // 合法
// add("1", "2"); // 报错

5. is

  • 作用:用于类型保护,定义一个返回布尔值的函数,用于类型判断。
  • 语法parameter is Type
function isString(value: any): value is string {return typeof value === "string";
}let o: any = "hello";
if (isString(o)) {console.log(o.toUpperCase()); // 合法
}

6. as<Type>

  • 作用:用于类型断言,告诉编译器某个值的具体类型。
  • 语法value as Type<Type>value
let p: any = "123";
let q = p as number; // 类型断言
// 或者
let r = <number>p; // 类型断言

7. never

  • 作用:表示永远不会发生的值的类型,通常用于函数的返回类型。
  • 语法never
function error(message: string): never {throw new Error(message);
}

8. readonly

  • 作用:用于定义只读属性。
  • 语法readonly property: Type
interface Person {readonly id: number;name: string;
}const person: Person = {id: 1,name: "风茫"
};// person.id = 2; // 报错

9. ?

  • 作用:用于定义可选属性。
  • 语法property?: Type
interface SquareConfig {color?: string;width?: number;
}

10. []

  • 作用:用于定义数组类型。
  • 语法Type[]Array<Type>
let s: number[] = [1, 2, 3];
let t: Array<number> = [1, 2, 3];

11. |&

  • 联合类型 (|):表示一个值可以是多种类型之一。
  • 交叉类型 (&):表示一个值必须同时满足多种类型。
let u: string | number = "hello";
u = 123;interface A {a: string;
}interface B {b: number;
}let v: A & B = {a: "hello",b: 123
};

12. !

  • 非空断言操作符:告诉编译器某个值不会是 nullundefined
  • 语法value!
function printLength(str: string | null) {console.log(str!.length); // 非空断言
}

13. ???.

  • 空值合并操作符 (??):如果左侧操作数为 nullundefined,则返回右侧操作数。
  • 可选链操作符 (?.):如果对象属性存在,则返回该属性值,否则返回 undefined
let w: string | null = null;
let x = w ?? "default"; // "default"interface User {name?: string;
}let y: User = {};
console.log(y?.name); // undefined

总结

TypeScript 中的这些特有运算符主要用于类型定义和类型检查,帮助开发者编写更安全、更可靠的代码。通过合理使用这些运算符,可以提高代码的可读性和可维护性。

  • keyof:获取对象的所有键。
  • typeof:获取变量的类型。
  • in:检查对象是否包含某个属性。
  • extends:泛型约束。
  • is:类型保护。
  • as<Type>:类型断言。
  • never:表示永远不会发生的值。
  • readonly:定义只读属性。
  • ?:定义可选属性。
  • []Array<Type>**:定义数组类型。
  • |&:联合类型和交叉类型。
  • !:非空断言。
  • ???.:空值合并和可选链操作符。

这些运算符使得 TypeScript 成为一种强大的静态类型语言,能够更好地帮助开发者进行类型安全的编程。

http://www.hkea.cn/news/883169/

相关文章:

  • 在网站怎么做收款二维码刷移动关键词优化
  • 问信息奥赛题怎么做 去哪个网站互联网网络推广
  • b2c电子商务网站系统下载专业网站seo推广
  • 引流推广的方法seo诊断工具
  • 平阴县建设工程网站直通车推广怎么做
  • 网站开发外包不给ftp高佣金app软件推广平台
  • 太原适合网站设计地址百度用户服务中心客服电话
  • 济南源码网站建设长沙网站seo推广公司
  • 北京网站制作17页和业务多一样的平台
  • 无锡市住房城乡建设委网站简单网页设计模板html
  • 武汉市大型的网站制作公司网站ip查询
  • 做仪表行业推广有哪些网站电商网站设计
  • 动静分离网站架构百度售后客服电话24小时
  • 做汽车配件生意的网站佛山seo关键词排名
  • 创意建站推荐百度做广告多少钱一天
  • 巴中网站建设公司百度seo怎么做网站内容优化
  • 查网站备案名称上海网络营销seo
  • 人是用什么做的视频网站网络营销方案设计毕业设计
  • 建设网站考虑因素关键词优化是怎么弄的
  • 陕西营销型网站建设推广普通话的内容简短
  • 做配电箱的专门网站百度指数属于行业趋势及人群
  • 学做网站的网站重庆seo整站优化报价
  • 保定网站设计概述seo推广软件排名
  • 查pv uv的网站网络营销推广服务
  • 怎样让客户做网站优化 保证排名
  • 企业营销型网站做的好网络营销的有哪些特点
  • 网站开发 合同兰州快速seo整站优化招商
  • 网站开发技术现状深圳网络营销推广培训
  • 知名网络公司有哪些河北网站seo
  • 学做网站多少钱关键词难易度分析