关于学习TS中的一些笔记

前段时间学习了ts,做了一些笔记,想着还是发到博客上来!

console.log('你好呀!TS')
function getData() {
} 
let str: string = '你好TS'
console.log(str)
let arr:number[] = [1,2,3];
console.log(arr);
let arr2:Array<string> = ['1', '2', '3'];
console.log(arr2)
// 元组类型 给数组中某个元素指定指定的类型
let arr:[number, string] =
[1,'456'] console.log(arr)

1. 枚举类型

enum Flag {
success = 1,
error = 0
};
let s: Flag = Flag.success;
console.log(s) //打印出1
enum Color {blue,red,yellow,black};
let c: Color = Color.yellow;
console.log(c) // 2如果标识符没有赋值,它的值对应的就是下标

2. 任意类型 any; 空类型:null; undefined void:啥也不是

3. never类型:是其他类型(包括null和undefined)的子类型,代表从不会出现的值

定义函数的方法,在函数传参的时候指定类型和
输出指定类型;1.可选参数age?:number;可选参数age: number=20;


function func1(name: string, age:number):number {
  return 123
} 
const func2 = function():string {
  return '123'
}

若没有返回值:

function func3(name: string, age: number): void {
  console.log('这是一个没有返回值的函数')
} 

函数的重载,同名的函数传入不同的参数得到不同的结果es5中出现同名方法,下面的会替代上面的方法;但是在TS中允许同名函数.
ts中的重载:

function getInfo(name: string): string;

function getInfo(age: number): number;

function getInfo(str:any):any {
  if(typeof str==='string'){
    return '名字:'+str
  }else {
    return '年龄:'+123 //返回一个数
  }
} 
getInfo('zhangsan')

es5中的继承,冒充(Person.call(this)):无法继承原型链原型链继承 Work.prototype = new Person():实例化的时候没法给父类传参;

在TS中定义类:
class Person {
  name: string; // 属性 前面省略了public关键字
  constructor(n: string) { //实例化的时候触发的方法
    this.name = n;
  };
  run():void {
   console.log(this.name)
  }
} 
const P = new Person('zhangsan')
P.run()
// 在TS中实现继承(super,extends: 继承)
class Person {
  name: string;
  constructor(name:string) {
    this.name = name;
  };
  run():string {
   console.log(this.name)
  }
} 
class Web extends Person {
  constructor(name: string){
    super(name);
  }
} 
const w = new Web('lisi')
w.run();

类里面的修饰符:
1. public:共有;
2. protected:受保护类型,在类里面,子类里面可以访问,在类外部无法访问;
3. private:在类里面可以访问,在子类和类外部无法访问
4. 属性不加修饰符,默认是public属性,表示共有属性

TS如何定义静态方法

class Person {
  pu
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,让我来回答你关于 TypeScript Symbol 和模块的问题。 首先,Symbol 是 TypeScript 的一种新的基本数据类型,它可以用来创建唯一的标识符。在 TypeScript ,Symbol 主要有两种用法: 1. 作为对象属性的键值,用来表示一个对象属性的唯一标识符。 2. 作为一个类的静态属性或方法,用来表示该类的唯一标识符。 下面是一个使用 Symbol 作为对象属性键值的示例: ```typescript const key = Symbol('myKey'); const obj = { [key]: 'value' }; console.log(obj[key]); // 输出'value' ``` 在上面的代码,我们使用 Symbol('myKey') 创建了一个新的 Symbol,然后将该 Symbol 作为对象 obj 的属性键值,并赋值为'value'。最后,我们通过 obj[key] 的方式来访问该属性,并输出了'value'。 另外,模块是 TypeScript 的另一个重要概念,它用来组织和管理代码。在 TypeScript ,模块可以使用 import 和 export 命令来进行导入和导出。下面是一个使用模块的示例: ```typescript // moduleA.ts export const num = 123; // moduleB.ts import { num } from './moduleA'; console.log(num); // 输出123 ``` 在上面的代码,我们定义了一个名为 num 的常量,并将其导出。然后,在另一个模块,我们使用 import 命令将 num 导入,并通过 console.log 输出了它的值。 这就是关于 TypeScript Symbol 和模块的简单介绍,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值