zoukankan      html  css  js  c++  java
  • TypeScript规则整理

    介绍我在初学 TS 开发项目中遇到的一些问题,希望对你有所帮助~
     
    因为我们的JavaScript是弱类型语言,如果项目过大,或者团队人数很多,不仅代码风格不统一,以后还会很难维护
     
     
     

    TypeScript 是 JavaScript 的一个超集

     
    接口(Interfaces)、泛型(Generics)、类(Classes)、枚举类型(Enums)等前端工程师可能不是很熟悉的概念
    原始数据类型
     
    布尔值
     
    数值使用number定义数值类型
     
    字符串
     
    空值:js没有空值(void)的概念,ts可以表示没有返回值的函数
    可以定义两个原始数据类型: undined和null是所有类型的字类型(可以给所有已经定义的类型赋值)
    任意值:在任意值上访问任何属性都是允许的
    在声明的时候,未指定类型,会被识别为任意值类型
    类型推论:在没有明确指定类型的时候推测出的一个类型,就是类型推论
    联合类型: 可以同时声明多个数据类型
    只能访问联合类型的所有类型的共同属性和方法
     
    对象的类型—接口
     
    在面向对象的语言中,接口是一个很重要的概念,是对行为的抽象
    接口一般首字母大写
    定义的变量在接口中的变量多了少了都不行
    可以不存在的属性可以设置
    使用任意属性获取值,一旦定义了任意属性,可以确定属性和可选属性的类型必须是他的类型子集
    readonlay 定义的属性是只读的
     

    数组的类型 

    有三种定义方式
    1、类型加方括号表示 let fibonacci: number[] = [1, 1, 2, 3, 5]
    这种会限制数组中的数据类型
    2、数据泛型:let fibonacci: Array<number> = [1, 1, 2, 3, 5]
    3、用接口表示数组
    interface NumberArray {
    [index: number]: number;
    }
    let fibonacci: NumberArray = [1, 1, 2, 3, 5]
    接口可以来描述数组,情况比较复杂
    Any在数组中的应用
     
     
    函数的类型
     
    注意不要混淆了 TypeScript 中的 => 和 ES6 中的 =>
    在 TypeScript 的类型定义中,=> 用来表示函数的定义,左边是输入类型,需要用括号括起来,右边是输出类型。
    在 ES6 中,=> 叫做箭头函数,应用十分广泛,可以参考 ES6 中的箭头函数
     
    可选参数,输入多余的参数是不允许的,如何定义可选参数
    剩余参数 可以使用rest的方式获取函数中的剩余参数,rest参数只能是最后一个参数
     
    重载,允许一个函数接受不同数量或者类型的参数,作出不同的处理
     
    AMD规范:异步加载机制规范, 非同步
    CMD规范:只有加载完成,才能执行后面的操作,同步
     
    Ts枚举类型概念来自c#
    类的概念
    静态属性,限制其作用域,声明的源文件中有效
     
    TypeScript 可以使用三种访问修饰符(Access Modifiers),分别是 public、private 和 protected。
    • public 修饰的属性或方法是公有的,可以在任何地方被访问到,默认所有的属性和方法都是 public 的
    • private 修饰的属性或方法是私有的,不能在声明它的类的外部访问
    • protected 修饰的属性或方法是受保护的,它和 private 类似,区别是它在子类中也是允许被访问的
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    [HAOI2007][SDOI2005]反素数
    [UVa1636]Headshot
    [Codeforces 581D]Three Logos
    [NOIP2014普及组]子矩阵
    洛谷 P3299 [SDOI2013]保护出题人 解题报告
    洛谷 P3965 [TJOI2013]循环格 解题报告
    洛谷 P3989 [SHOI2013]阶乘字符串 解题报告
    [SHOI2013]发牌 解题报告
    洛谷 P3962 [TJOI2013]数字根 解题报告
    LOJ 2664. 「NOI2013」向量内积 解题报告
  • 原文地址:https://www.cnblogs.com/jinzhou/p/12066180.html
Copyright © 2011-2022 走看看