C#和typescript是同一个大佬设计,所以存在很大的相同,也有一些异同,参考如下:


语法C#TS其他说明
异步编程asyncasync
awaitawait
Task<T>Promise<T>
TaskPromise
指定类型string abcabc: stringTS是放在后,C# 是放在前
(string name, int id ) abcabc: {  name: string, age: number }C#叫命名元组,是一个语法糖
object oo: any
int a
long a
float a
...
a: number
bool bb: boolean
voidvoidTS中经常出现在方法的返回类型中
数组类型string[] abcabc: string[]
方法返回类型public void abc()abc(): void跟指定类型类似,TS是放在后,C# 是放在前
方法参数默认值public void abc(string name = "")abc(name:string = "") : void
可空类型string? abcabc?: string
拼接字符串var a = "程序";
var b = $"我是搞{ a }的";
let a = "程序";
let b = `我是搞${ a }的`;
接口定义public interface Abc
{
   string name;
   int age;
}
interface Abc {
  name: string,
  age: number
}
定义类型public class Abc
{
   string name;
   int age;
}
class Abc {
  name: string,
  age: number
}

或者

type Abc = {
  name: string,
  age: number
}
TS 两者的区别是 class在编译后会转为js,
而 type Abc的方式,则不会
解构var (firstName, lastName) = authorconst { firstName, lastName } = author;
泛型interface IDatabase<T> {
 Task Insert(T item);
 Task<T> Get(stringid);
}
interface Database<T> {
 insert(item: T):Promise;
 get(id: string):Promise<T>;
}
IDatabase<T>  abcabc: Database<T>
三个点符号var abc = { name: "" };
var zzz = {  ...abc,  age: 1 }

或者
var abc = [ 1,2,3 ]
var zzz = [ ...abc,4,5,6]
我理解为合并语法