美文网首页
TyprScript 注意的地方

TyprScript 注意的地方

作者: 耄_9e33 | 来源:发表于2019-05-08 14:43 被阅读0次

静态类型检查

: string/number/boolean/null/undefined

需要注意 不可以用 new 的方式,会编译报错,但可以通过直接运行构造函数的方式

let createdByNewBoolean:Boolean = new Boolean(1);  // 报错
let createdByBoolean:Boolean = Boolean(1);  // 编译通过

空值 void

没有什么卵用,只能被复制 undefined 或 null

let empty: void = null;
function alertName():void{ 
     alert('My name is Tom');
}

需要注意 undefined 和 null 类型的值可以赋给任意类型的变量,但void 类型的不能赋值给其他类型变量

any

相当于没写声明,用any 还用ts干嘛,哼

let something;  // 相当于 let something: any;

注意如果赋初始值了是会按初始值做类型推断的,如下

let count = 123;  // 相当于 let count: number = 123;

联合类型

通过用 | 可以将变量声明为多个类型
需要注意的是调用此变量的方法的时候只能调用多个类型都有的方法或属性

function getString(something: string | number): string {
    return something.length;  // 报错
    return something.toString();  // ok
}

未赋初始值得变量会被类型推断

let myFavoriteNumber: string | number;
myFavoriteNumber = 'seven';
console.log(myFavoriteNumber.length); // 5
myFavoriteNumber = 7;
console.log(myFavoriteNumber.length); // 编译时报错

interface: 对象的形状

对象的形状,即声明某些类型对象的规则,对象的形状

interface Person{
  readonly id?: number;  // ? 表示可选,readonly 表示不可修改且只有对象一开始才能赋值
  age: number;
  name: string;
  [other: number]: number | string;  // 允许对象创建时增加其他属性,如果不加这行创建对象则只能严格按照interface 创建
  [other: number | string]: number | string;  // 会报错,索引声明不能用联合类型
  // An index signature parameter type must be 'string' or 'number'.
  // [other: number | string]: number | string;
}
let perter: Person = {
  age: 16,
  name: 'perter',
  1: 'male'
}
perter.id = 123;  // 会报错

数组的类型

类型 + []

let arr: number[] = [1,2,3, '11']  // 会报错,因为 值得类型不是number[] ,而是 (number | string)[]

arr.push('3') // 同样会报错

数组泛型

let arr: Array<number> ;

interface表示数组

interface arr{
  [key: number]: string;
}
let stringArr: arr = ['1', '2', '8'];

相关文章

  • TyprScript 注意的地方

    静态类型检查 : string/number/boolean/null/undefined 需要注意 不可以用 n...

  • memset注意的地方

    先看下例子 输出: 0 2 3 4 5 上面的输出竟然是 0 2 3 4 5,也就是只清空了第一个元素,这显...

  • vue需注意的地方

    1. Vuejs中的组件 vuejs构建组件使用: 这里注意一点,组件要先注册再使用如果反过来会报错,因为反过来代...

  • 关于iOS for ... in 注意的地方

    经常我们会筛选一个可变数组里面的元素讲不符合条件的删除掉一般我们的做法: 这样程序就会抛出个异常如下 程序闪退~~...

  • Umeng分享注意的地方

    *1、微博无客户端分享是个很坑的问题,所以要动态分享,就是当点击分享的时候,检测是否安装了微博客户端。 //这个是...

  • 需要注意的地方

    做事情一定要小心谨慎,同时我说话要注意,多考虑别人的想法。同时一定要机智,聪明点。我对自己要求真诚,同时也非常喜欢...

  • 可变参数 与 List

    可变参数: ---注意的地方:注意的地方 List接口用法 注意foreach函数的写法用法:1.增 增加一个...

  • async task 注意地方

    AsyncTask用的是线程池,线程不用就会放回池中. 有新的AsyncTask会取出已有线程,之后开始执行,这就...

  • 拷贝maven项目注意的地方

    web.xml里面的id必须更换,否则会导致冲突 这里也要添加mavenDependencies

  • 编程需要注意的地方

    1. 追求技术,而非语言 2. 追求内容,而非形式 3. 追求核心,而非表层 4. 以框架为核心 5. 迎接新的技术

网友评论

      本文标题:TyprScript 注意的地方

      本文链接:https://www.haomeiwen.com/subject/rrwmoqtx.html