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

亿达城市建设官方网站北京十大室内设计工作室

亿达城市建设官方网站,北京十大室内设计工作室,深圳设计网站建设公司,修改wordpress头像自定义插件一、TypeScript是什么#xff1f; Typed JavaScript at Any Scale: 添加了类型系统的JavaScript#xff0c;使用于任何规模的项目。 两个重要特点#xff1a; 类型系统 任何规模 中文官网#xff1a;文档简介 TypeScript中文网 TypeScript——JavaScript的超集 TypeS…一、TypeScript是什么 Typed JavaScript at Any Scale: 添加了类型系统的JavaScript使用于任何规模的项目。 两个重要特点 类型系统 任何规模 中文官网文档简介 · TypeScript中文网 · TypeScript——JavaScript的超集 TypeScript和javascript的区别 TypeScript 是JavaScript 对象的扩展。 JavaScript 代码可以在无需任何修改的情况下与 TypeScript 一同工作同时可以使用编译器将TypeScript 代码转换为 JavaScript。 TypeScript 通过类型注解提供编译时的静态类型检查。 TypeScript 中的数据要求带有明确的类型JavaScript不要求。 TypeScript 为函数提供了缺省参数值。 TypeScript 引入了 JavaScript 中没有的“类”概念。 TypeScript 中引入了模块的概念可以把声明、数据、函数和类封装在模块中。 TypeScript的优点 静态输入 静态类型化是一种功能可以在开发人员编写脚本时检测错误。查找并修复错误是当今开发团队的迫切需求。有了这项功能就会允许开发人员编写更健壮的代码并对其进行维护以便使得代码质量更好、更清晰。 大型的开发项目 有时为了改进开发项目需要对代码库进行小的增量更改。这些小小的变化可能会产生严重的、意想不到的后果因此有必要撤销这些变化。使用TypeScript工具来进行重构更变的容易、快捷。 更好的协作 当发开大型项目时会有许多开发人员此时乱码和错误的机也会增加。类型安全是一种在编码期间检测错误的功能而不是在编译项目时检测错误。这为开发团队创建了一个更高效的编码和调试过程。 更强的生产力 干净的 ECMAScript 6 代码自动完成和动态输入等因素有助于提高开发人员的工作效率。这些功能也有助于编译器创建优化的代码。 TypeScript特性 类型批注和编译时类型检查 在编译时批注变量类型 类型推断ts中没有批注变量类型会自动推断变量的类型 类型擦除在编译过程中批注的内容和接口会在运行时利用工具擦除 接口ts中用接口来定义对象类型 枚举用于取值被限定在一定范围内的场景 Mixin可以接受任意类型的值 泛型编程 名字空间名字只在该区域内有效其他区域可重复使用该名字而不冲突。 元组元组合并了不同类型的对象相当于一个可以装不同类型数据的数组。 那么哪些项目适合用 TypeScript 开发呢 需要多人合作开发的项目 开源项目尤其是工具函数或组件库 对代码质量有很高要求的项目 二、TypeScript的安装 npm install -g typescript 检查版本 tsc -v ts的文件后缀一般就是.ts 用 TypeScript 编写 React 时文件后缀为 .tsx。 TypeScript的执行新增helloworld.ts文件 ((){function sayhi(name:String){return 你好name;}sayhi(张三); })() 手动编译tsc *.ts tsc ./helloworld.ts 自动编译 tsc --init修改tsconfig.json      outDir: ./js,   //指定js文件的输出目录      strict: false,   //取消严格类型检查模式 执行监视任务(自动跟踪代码) 终端– 运行任务-显示所有任务–tsc: 监视 tsconfig.json 自动在js目录下创建helloworld.js (function () {function sayhi(name) {return 你好 name;}sayhi(张三); })(); 三、TypeScript基础 原始数据类型 JavaScript的数据类型有基本数据类型Primitive Data Types和对象数据类型Object Types。 基本数据类型包括字符、数字、布尔、null、 undefined已经ES6中的Symbol和ES10的BigInt。 let num:Number100; // num ; 报错数据类型不匹配 num 55; function show(a:string){console.log(a); } // show(22) 报错 show(hello); //布尔值 let flag:boolean false; //string let msg:string 哈哈; //number let a:number10; //十进制 let b:number0b101;//二进制 let c:number0o10;//八进制 let d:number0xA;//十六进制 console.log(a); // 输出: 10 console.log(b); // 输出5 console.log(c); // 输出8 console.log(d); // 输出10 对象数据类型 undefined 和null基本不用作为了解 let m:undefinedundefined; let n:nullnull; //m100; 报错 //na; nundefined; mnull; console.log(m); // null console.log(n); // undefined console.log(mn);//true console.log(mn);//false //undefined null 可以做为其它数据类型的子类型 let x null; let y undefined; console.log(x); // null console.log(y); // undefined 数组 //定义数组 let arr1 [1, 2, 3]; console.log(arr1); //泛型数组 let arr2 [hello, 你好, good]; console.log(arr2); 对象 let obj:object{}; // obj; 错误 // obj100; 错误 objnull; objundefined; objnew Array(); objnew String(); objnew Date(); objNumber; objBoolean; objString; any任何类型 let h:any22; h; hfalse; h2.3; hnull; let arr3:any[][1,2,3,hello]; void: 空值或没有返回值的函数 //void : 空值或没有返回值的函数 function fun1(): void{console.log(void); } console.log(fun1());//输出undefined 类型推断 //类型推断在类型不明确的情况下推测一个类型 // 两种情况 // 情况一定义变量时由赋值的数据类型决定。 let num134; // num1; 报错 //情况二定义变量时不赋值 let g; g22; gnull; ghello gtrue; 联合类型 联合类型Union types 是指取值可以是多种类型中的一种。 //可以是多种数据类型之一 let f: boolean | number ; ftrue; f0; //联合类型只能访问共有属性或方法 function fun2(something: string|number){// return something.length; 错误 number没有lengthreturn something.toString;//可以访问number和string共有属性toString } 对象类型-接口 在面向对象编程中接口Interface是个非常重要的概念接口是对行为做什么的抽象。而具体的实现如何做是由类classes去实现implement。 TypeScript中的接口是一个非常灵活的概念除了对类的行为进行抽象以外还可以对对象进行描述例如 //对象类型//定义接口interface Person{readonly id:number //我们可以通过readonly定义只读属性创建时赋值其值不能被修改name: stringage: numbersex: stringaddress ?: string //可选属性使用?[propName:string]:any //任意属性任意值}//创建对象let p: Person{id: 9527,name:张三,sex:男,age: 20,city: 北京 //对应任意属性}console.log(p);p.age21;// p.id9221 错误不能修改只读属性console.log(p) 函数类型-接口 //定义函数接口 interface search{(x:string,y:string):boolean } const fun:search function(a:string,b:string):boolean{if(ab){return true;}return false; } console.log(fun(hi,hi)); console.log(fun(abc,ABC)); 函数 JavaScript函数分为函数声明和函数表达式 // JavaScript中的函数声明:命名函数 function add(a, b) {return a b; } //JavaScript中的函数表达式匿名函数 let sum function (a, b) {return a b; }; console.log(add(11, 22)); console.log(sum(1, 2)); TypeScript的函数声明和函数表达式声明类型 //TS的函数声明function add(a:number,b:number):number{return ab;}//TS的函数表达式let sum1 function(a:number,b:number):number{return ab;}//TS的函数表达式完整写法let sum2:(a:number,b:number)number function(a:number,b:number):number{return ab;}console.log(add(22,33));console.log(sum1(3,5));console.log(sum2(1,1)); 函数的默认参数和可选参数 let myarr function(a:string,b?:string,c:string你好){return abc; } console.log(myarr(李四)); //李四undefined你好 console.log(myarr(李四,晚上));//李四晚上你好 剩余可变参数 //剩余参数可变参数 function show(x:string,y:string,...arr:number[]){console.log(xyarr); } console.log(show(aaa,bbb,1,2,3)); 函数重载overload //函数重载 function newSum(x:number,y:number):number; function newSum(x:string,y:string):string; function newSum(x:string|number,y:string|number):string|number{if(typeof(x) string typeof(y)string){return xy;}if(typeof(x) number typeof(y)number){return xy;} }console.log(newSum(11,22));console.log(newSum(八,戒)) 类型断言 //类型断言 function getLength(x:string| number):number{if((x as string).length){return (stringx).length;}else{return x.toString().length;} } console.log(getLength(1234)); console.log(getLength(hello)); //window.a 10 ; 报错 //通过any进行类型断言 //(window as any).a10; //将any类型断言为具体类型 function abc(x:any,y:any):any{return xy; } let m1 abc(1,2)as number; console.log(m1); let m2 abc(aaa,bbb) as string; console.log(m2); 四、TypeScript进阶 类型别名 语法type 类型别名 数据类型 例如 type sstring; let m3:shello; console.log(m3); type all string | boolean | number; let x1: all true; let y1: all good; x1yes; y1123; 字符串字面量类型 字符串字面量类型字符串的取值只能是其固定的指定某一个。 type stringEnum 张三 | 张三丰; let name1: stringEnum 张三丰 元组 //元组合并了不同的数据类型 let arr4: [string,number] [abc,33]; console.log(arr4[0].slice(1)); console.log(arr4[1].toFixed(2)); 枚举 enum sex{男1,女,人妖 女.length2 } console.log(sex); console.log(sex.男);enum weekDay{星期一, //常量项默认值为0其后会自动加1星期二,星期三,星期四,星期五,星期六,星期日 } console.log(weekDay); console.log(weekDay.星期二); //常量枚举: 不会被编译不会生成js文件 const enum Color{red,green,blue } // 错误不可访问 console.log(Color); console.log(Color.green); declare enum Directions{up,right,down,left } console.log(Directions.down); 对应的js文件 var sex; (function (sex) {sex[sex[\u7537] 1] \u7537;sex[sex[\u5973] 2] \u5973;sex[sex[\u4EBA\u5996] 女.length 2] \u4EBA\u5996; })(sex || (sex {})); console.log(sex); console.log(sex.男); var weekDay; (function (weekDay) {weekDay[weekDay[\u661F\u671F\u4E00] 0] \u661F\u671F\u4E00;weekDay[weekDay[\u661F\u671F\u4E8C] 1] \u661F\u671F\u4E8C;weekDay[weekDay[\u661F\u671F\u4E09] 2] \u661F\u671F\u4E09;weekDay[weekDay[\u661F\u671F\u56DB] 3] \u661F\u671F\u56DB;weekDay[weekDay[\u661F\u671F\u4E94] 4] \u661F\u671F\u4E94;weekDay[weekDay[\u661F\u671F\u516D] 5] \u661F\u671F\u516D;weekDay[weekDay[\u661F\u671F\u65E5] 6] \u661F\u671F\u65E5; })(weekDay || (weekDay {})); console.log(weekDay); console.log(weekDay.星期二); // 错误不可访问 console.log(Color); console.log(1 /* Color.green */); console.log(Directions.down); 未完待续.....
http://www.hkea.cn/news/14435045/

相关文章:

  • 关于做好学院网站建设的要求做网络竞拍的网站需要什么
  • 做兼职一般去哪个网站好pyhton可以做网站吗
  • 做网站程序的都不关注seo安全生产门户网站建设
  • 自己做的网站怎么用qq登入国家企业信用网官网
  • 做ios试玩推广网站软件app开发公司电话
  • 商城网站建设的步骤济南的网站建设公司哪家好
  • 图网新网站排名优化
  • 车床加工东莞网站建设公关公司服务的特点
  • 网站开发要求有哪些界面设计规范
  • 关于书店电商网站建设的心得十堰做网站最好的公司
  • 天津网站制作推广不知情的情况下帮别人做网站他违法
  • 建站公司如何在抖音平台开店徐州社交网站
  • 电子商务网站建设策划书范文广州公司注册场地要求
  • 网站设计 版权嘉定网站设计制作优化排名
  • WordPress询盘seo网站内容优化
  • 个人网站备案容易吗做购物网站能否生存
  • 向国外支付网站开发费湖州站内优化seo公司
  • 怎么申请网站详细步骤什么是营销型网站设计
  • 网站开发分哪几个步骤wordpress PHP cpanel
  • 网站建设7大概要多久wordpress网站主修改密码
  • 中国建设银行官网网站平台交易
  • 接网站制作做网站买域名
  • 花生壳怎么做网站wordpress 调取菜单
  • 深圳宝安通网站建设线下教育机构
  • 莱芜手机网站建设报价新网站如何做推广软文
  • 网上做流量对网站有什么影响慧聪网郭凡生现状
  • 网站空间流量6g成都网站建设服务密需湖南岚鸿案例
  • 网站建设与设计毕业设计怎么建立自己的网站?
  • 汕头网络公司网站建设网站建设阶段推广策略
  • 网站基本功能门户网站系统程序