一个网站 两个数据库制作个人网页详细教程
2026/2/6 20:16:35 网站建设 项目流程
一个网站 两个数据库,制作个人网页详细教程,wordpress 手机访问,网站子站建设合同样本TypeScript 基础语法详解 TypeScript#xff08;TS#xff09;是 JavaScript#xff08;JS#xff09;的超集#xff0c;所有合法的 JavaScript 代码都是合法的 TypeScript 代码。TS 在 JS 基础上主要增加了静态类型系统#xff0c;其他语法几乎与现代 JS#xff08;ES…TypeScript 基础语法详解TypeScriptTS是 JavaScriptJS的超集所有合法的 JavaScript 代码都是合法的 TypeScript 代码。TS 在 JS 基础上主要增加了静态类型系统其他语法几乎与现代 JSES6一致。下面从基础语法入手逐步介绍 TS 独有或增强的部分。1. 基本类型Primitive TypesTS 支持 JS 的所有原始类型并要求显式或隐式指定类型。letisDone:booleanfalse;letage:number30;// 包括整数、浮点数、BigInt如 100nletbinary:number0b1010;// 二进制letoctal:number0o744;// 八进制lethex:number0xf00d;// 十六进制letusername:stringAlice;letsentence:stringHello,${username}!;// 模板字符串letundefinedValue:undefinedundefined;letnullValue:nullnull;letsym:symbolSymbol(unique);2. 数组和元组Array Tuple// 数组两种写法等价letlist1:number[][1,2,3];letlist2:Arraynumber[1,2,3];// 泛型写法// 元组固定长度、固定类型的数组lettuple:[string,number][hello,10];// tuple[2] 100; // 错误长度固定3. any、unknown、never、voidletanything:any4;anythingstring;// any 可以赋值为任何类型几乎关闭类型检查letunsure:unknown4;// unsure.toFixed(); // 错误需先类型检查if(typeofunsurenumber){unsure.toFixed();}functionerror(msg:string):never{thrownewError(msg);// never 表示永远不会正常返回}functionlog():void{console.log(no return);}4. 对象类型接口interface和类型别名type// 接口推荐用于定义对象形状interfacePerson{name:string;age?:number;// 可选属性readonlyid:number;// 只读属性[prop:string]:any;// 索引签名允许任意额外属性}letuser:Person{name:Bob,age:25,id:1,extra:anything};// user.id 2; // 错误只读// 类型别名更灵活可用于联合类型等typeIDstring|number;letuserId:ID123;userIdabc;5. 函数语法// 函数声明functionadd(x:number,y:number):number{returnxy;}// 函数表达式constsubtract:(a:number,b:number)number(a,b)a-b;// 可选参数和默认参数functiongreet(name:string,greeting?:string):string{return${greeting??Hi}${name};}greet(Alice);// OKgreet(Alice,Hello);// 剩余参数functionsum(...nums:number[]):number{returnnums.reduce((a,b)ab,0);}6. 联合类型Union和类型守卫Type Guardsletid:string|number123;idabc;functionprintId(id:string|number){if(typeofidstring){console.log(id.toUpperCase());// 类型守卫TS 知道这里是 string}else{console.log(id.toFixed());}}7. 类型断言Type AssertionletsomeValue:anythis is a string;letstrLength:number(someValueasstring).length;// 另一种写法React 中常用letstrLength2:number(stringsomeValue).length;8. 字面量类型Literal TypestypeDirectionup|down|left|right;letdir:Directionup;// 只能是这四个值之一typeYesOrNotrue|false;typeZero0;9. 枚举EnumsenumColor{Red,// 默认 0Green2,Blue// 3}letc:ColorColor.Green;console.log(Color[2]);// Green反向映射10. 基本配置tsconfig.json 常用选项新手常用严格模式配置片段{compilerOptions:{target:ES2022,module:ESNext,strict:true,// 开启所有严格检查noImplicitAny:true,strictNullChecks:true,esModuleInterop:true,forceConsistentCasingInFileNames:true}}小结入门建议从普通 JS 项目逐步添加.ts或.tsx文件。开启strict模式强制养成良好类型习惯。多用类型推断减少不必要的显式注解。学会阅读编译错误信息这是提升最快的途径。如果您想看某个部分的完整示例代码如类、泛型入门、异步函数等或者想练习一个小型 TS 项目请告诉我

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询