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

天津智能网站建设费用口碑营销案例及分析

天津智能网站建设费用,口碑营销案例及分析,四川冠辰网站建设,政府网站建设实施方案以下是 TypeScript 的常用知识点总结,涵盖了从基础到入门的内容,并配有代码示例: 1. TypeScript 基础 1.1 安装和配置 安装 TypeScript 并初始化配置文件: npm install -g typescript tsc --init 1.2 基本类型 TypeScript 提供…

以下是 TypeScript 的常用知识点总结,涵盖了从基础到入门的内容,并配有代码示例:

1. TypeScript 基础

 1.1 安装和配置

安装 TypeScript 并初始化配置文件:

npm install -g typescript
tsc --init

 1.2 基本类型

TypeScript 提供的基本类型有 `number`、`string`、`boolean`、`null`、`undefined`、`symbol`、`bigint`、`void` 等。

let isDone: boolean = false;
let age: number = 25;
let name: string = "Alice";
let u: undefined = undefined;
let n: null = null;

1.3 数组和元组

数组和元组用来表示一组数据,其中数组是同一类型元素的集合,元组则是已知数量和类型的集合。

let list: number[] = [1, 2, 3];
let tuple: [string, number] = ["Alice", 25];

 1.4 枚举 (Enum)

`enum` 用于定义一组命名常量:

enum Color {
  Red = 1,
  Green,
  Blue
let color: Color = Color.Green;
}

 2. 接口 (Interface)

接口用于定义对象的结构,包括属性和方法的类型。接口可以用于类型检查和代码提示。

```typescript
interface Person {
  name: string;
  age: number;
}

function greet(person: Person): void {
  console.log("Hello, " + person.name);
}

let user: Person = { name: "Alice", age: 25 };
greet(user);
```

2.1 可选属性和只读属性

接口中的可选属性在对象中可以不存在,用 `?` 表示;只读属性使用 `readonly` 关键字修饰。

```typescript
interface Book {
  readonly title: string;
  author?: string;
}

let book: Book = { title: "TypeScript Handbook" };
// book.title = "New Title"; // 错误:title 是只读属性
```

2.2 函数类型的接口

接口还可以用于定义函数的结构:

```typescript
interface Add {
  (x: number, y: number): number;
}

const add: Add = (x, y) => x + y;
```

 3. 类型别名 (Type Alias)

类型别名允许为任何类型创建一个新的名称:

```typescript
type ID = string | number;
let userId: ID = "123";
userId = 456;
```

4. 联合类型和交叉类型

 4.1 联合类型 (Union Types)

联合类型表示一个值可以是几种类型之一,用 `|` 表示。

```typescript
let value: string | number;
value = "hello";
value = 42;
```

4.2 交叉类型 (Intersection Types)

交叉类型用于将多个类型合并为一个类型,用 `&` 表示。

``typescript
interface Name {
  na`me: string;
}
interface Age {
  age: number;
}

type Person = Name & Age;
let person: Person = { name: "Alice", age: 25 };
```

5. 类 (Class) 和继承

 5.1 定义类

TypeScript 支持面向对象编程,使用 `class` 关键字定义类:

```typescript
class Animal {
  name: string;

  constructor(name: string) {
    this.name = name;
  }

  move(distance: number = 0) {
    console.log(`${this.name} moved ${distance}m.`);
  }
}

let dog = new Animal("Dog");
dog.move(10);
```

 5.2 类的继承

使用 `extends` 关键字实现继承:

```typescript
class Bird extends Animal {
  fly(distance: number) {
    console.log(`${this.name} flew ${distance}m.`);
  }
}

let bird = new Bird("Sparrow");
bird.fly(20);
```

 6. 泛型 (Generics)

泛型使得函数、接口和类可以适用于多种类型。

```typescript
function identity<T>(arg: T): T {
  return arg;
}

let output = identity<string>("Hello");
```

 6.1 泛型接口和泛型类

```typescript
interface Pair<T, U> {
  first: T;
  second: U;
}

let p: Pair<string, number> = { first: "Alice", second: 25 };

class Stack<T> {
  private items: T[] = [];
  
  push(item: T) {
    this.items.push(item);
  }

  pop(): T | undefined {
    return this.items.pop();
  }
}
```

 7. 类型断言 (Type Assertion)

类型断言用于告诉编译器变量的实际类型。它有两种语法:

```typescript
let someValue: any = "Hello, TypeScript";
let strLength: number = (someValue as string).length;
// 或
let strLength2: number = (<string>someValue).length;
```

 8. 类型守卫 (Type Guards)

TypeScript 提供了多种类型守卫,包括 `typeof`、`instanceof` 和自定义类型守卫。

```typescript
function padLeft(value: string, padding: string | number) {
  if (typeof padding === "number") {
    return Array(padding + 1).join(" ") + value;
  }
  if (typeof padding === "string") {
    return padding + value;
  }
  throw new Error(`Expected string or number, got '${padding}'.`);
}
```

 9. 模块和命名空间

9.1 模块

模块帮助组织代码。使用 `export` 和 `import` 导出和导入模块。

```typescript
// utils.ts
export function add(x: number, y: number): number {
  return x + y;
}

// main.ts
import { add } from "./utils";
console.log(add(2, 3));
```

9.2 命名空间

命名空间用于将一组相关的代码放在一个命名空间下。

```typescript
namespace MathUtils {
  export function add(x: number, y: number): number {
    return x + y;
  }
}

console.log(MathUtils.add(2, 3));
```

10. 高级类型

10.1 映射类型 (Mapped Types)

映射类型可以基于已有类型创建新的类型。

type Person = {
  name: string;
  age: number;
}

type ReadonlyPerson = {
  readonly [K in keyof Person]: Person[K];
}

 10.2 条件类型 (Conditional Types)

条件类型是根据条件返回不同类型的类型。

type IsString<T> = T extends string ? "string" : "not string";
type Test = IsString<string>; // "string"
type Test2 = IsString<number>; // "not string"

10.3 工具类型

TypeScript 内置了一些工具类型,如 `Partial`、`Required`、`Readonly` 等。

interface User {
  name: string;
  age: number;
}

type PartialUser = Partial<User>; // 所有属性变为可选
type ReadonlyUser = Readonly<User>; // 所有属性变为只读

以上是 TypeScript 的基础到入门知识总结,希望对你有所帮助!

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

相关文章:

  • 支部网站及活动室建设网页广告调词平台
  • 网站建设的企业抚州seo外包
  • 澳门wap网站制作百度关键词检测工具
  • 哪些外贸网站可以做soho首页
  • 三门峡网站建设电话青岛网站推广公司
  • 洞口做网站找谁市场营销推广方案模板
  • 怎么做用来表白的网站湖人队最新消息
  • 新疆网站建设哪家好泉州网站seo外包公司
  • 网站开发前后端工具组合深圳推广公司推荐
  • 老外做的汉字网站一键生成app制作器
  • 网上设计接单的网站seo排名优化排行
  • wordpress后台加统计代码seo建站的步骤
  • 怎么做外贸网站的邮箱签名搜索引擎优化是指什么
  • 网页制作基础教程免费邯郸网站seo
  • phpcms做网站感想漯河seo推广
  • 公司部门kpi绩效考核指标模板河北百度seo软件
  • 印团网网站是哪家做的唯尚广告联盟
  • 网红营销网站seo综合查询怎么用的
  • 西安地区网站建设云推广
  • wordpress个人站2020年关键词排名
  • 网站建设企业公司石家庄新闻头条新闻最新今天
  • 道滘镇做网站百度统计
  • qq空间做宣传网站怎样建立自己的网站平台
  • 做设计一般用的素材网站是什么意思刷网站排名软件
  • 帮人做兼职的网站吗青岛seo服务哪家好
  • 贷款类网站怎样做网络营销的推广
  • 乐清做网站哪家好税收大数据
  • 校园网站建设需求天津放心站内优化seo
  • 哈尔滨微网站建设热搜在哪里可以看
  • 网站用oracle做数据库福州seo推广服务