zoukankan      html  css  js  c++  java
  • typescript

     
    * Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。
    *
    * TypeScript 是 JavaScript 的一个超集,主要提供了类型系统和对 ES6 的支持,它由 Microsoft 开发,代码开源于 GitHub 上。
    它的第一个版本发布于 2012 年 10 月,经历了多次更新后,现在已成为前端社区中不可忽视的力量,
    * 不仅在 Microsoft 内部得到广泛运用,而且 Google 的 Angular2 也使用了 TypeScript 作为开发语言。
    * 并且我们熟知的vue,在3.0也即将会使用typescript
    *
    * javascript是解释型(动态)语言,可以说是从上到下执行,在我们开发过程中,比如有语法错误等等,
    * 需要执行到这一行代码才能知道,而typescript则像写易语言那样生成exe时,需要静态编译,而静态编译这个过程,
    * 会把代码都检查一遍,看是否通过检测,最终才生成exe,typescript最终是也是编译成javascript原生代码的,
    * 只是在这个生成过程中,会进行各种检测,来检查代码是否符合语法啊规则啊,符合的话最终再编译成javascript,
    * 规范了我们代码的编写,同时也提高了代码的复用以及组件化

    *
    * typescript支持es5/es6的语法,并且扩展了javascript语法,更像java、c#、这种语言了
    *
    * Java、c#这类语言,
    * 非常严谨,类型检查等非常严谨,而javascript呢,
    * 一般是靠我们用肉眼去排查,很麻烦,typescript就是解决这一类问题的。
    *
    *
    * 一.typescript 安装
    * yarn global add typescript
    * 全局安装完成后,我们新建一个hello.ts的ts文件
    * 命令行输入tsc hello.ts来编译这个ts文件,然后会在同级目录生成一个编译好了的hello.js文件
    *
    *
    * 二、数据类型
    * java、c#是强类型语言,而js是弱类型语言,强弱类语言有什么区别呢?
    * typescript最大的优点就是类型检查,可以帮你检查你定义的类型和赋值的类型。
    *
    * 在ts中,定义isFlag为true,为布尔类型boolean
    在变量名后加冒号和类型,如 :boolean
    * let isFlag:boolean = true
    重新赋值到字符串类型会报错
    isFlag = "hello swr"
    * 定义基本类型都是这样定义 数字类型number 字符串类型string null undefined类型
    *
    * 但是定义数组的时候有所不同
    *
    * let pets:string[] = ["旺财","小黑"]; 只能往里面写字符串,写别的类型会报错 let pets:Array<string> = ["旺财","小黑"];
    * let arr:Array<string|number|boolean> = ["hello swr",28]; let arr:Array<any> = ["hello swr",28,true]
    *
    *
    * 什么是元组类型?其实元组是数组的一种。
    *
    * let person:[string,number] = ['邵威儒',28]
    * 有点类似解构赋值,但是又不完全是解构赋值,比如元组类型必须一一对应上,多了少了或者类型不对都会报错。
    *
    * 枚举类型enum
    * 我们可以定义一些值,定义完了后可以直接拿来用了,用的时候也不会赋错值。
    * 比如我们实际项目中,特别是商城类,订单会存在很多状态流转,那么非常适合用枚举
    *
    * enum orderStatus {
    WAIT_FOR_PAY = "待支付",
    UNDELIVERED = "完成支付,待发货",
    DELIVERED = "已发货",
    COMPLETED = "已确认收货"
    }
    * 如果我们直接写对象的键值对方式,是可以在外部修改这个值的,而我们通过enum则不能修改定义好的值了,更加严谨
    *
    *
    * 任意类型 any
    *
    * any有好处也有坏处,特别是前端,很多时候写类型的时候,几乎分不清楚类型,任意去写,写起来很爽,
    * 但是对于后续的重构、迭代等是非常不友好的,会暴露出很多问题,某种程度来说,any类型就是放弃了类型检查了。。。
    *
    * void是不能有任何值
    * function say():void {

    }
    never永远不会有返回值
    *
    * function loop():never {
    while(true){
    console.log("陷入死循环")
    }
    }

    loop()
    *
    *
  • 相关阅读:
    如何修改帝国cms文章点击量默认值和成倍增加
    微信读书App来了 小伙伴们快去占榜吧
    (二)第十回 同日生辰情解契语 异姓兄弟冰释嫌隙[林大帅作品集]
    第十回(一) 同日生辰情解契语 异姓兄弟冰释嫌隙
    帝国cms如何调用指定id的文章到首页?
    微信支付又下一城:可以缴税了
    笔记:mysql升序排列asc,降序排列desc
    第九回(二):任侠厨子轻解厄围 夜半蹴鞠为泄忿闷[林大帅作品集]
    第九回(一):任侠厨子轻解厄围 夜半蹴鞠为泄忿闷
    第八回(二)新年晚会艺压群芳 文理分科三人聚首
  • 原文地址:https://www.cnblogs.com/yeanling/p/11280547.html
Copyright © 2011-2022 走看看