zoukankan      html  css  js  c++  java
  • typescript1-Basic Types

    Refenerce:https://www.typescriptlang.org/docs/handbook/basic-types.html

    basic type:
    boolean
    let isDone:boolean=true;


    number 在typescript中,所有的number类型都是浮点型的,也可以是十六进制或则八进制
    let decimal:number=6;
    let hex:number=0xfff;

    string
    let color:string="blue";
    也可以使用字符串模板,格式是${变量}
    let a:string="blue";
    let b:string=${a}123;

    array

    数组的话,有两种写法
    let colors:number[] = [1,2,3];
    let colors2:Array =[1,2,3];

    元祖 tuple
    就是声明了固定的数量的元素类型
    let x:[string,number]=["hello",10];
    let x1:[string,numer]=[10,"hello"];这是错误的,一定要按照顺序来
    访问的时候,通过索引下标进行访问
    console.log(x[0].substr(1)),因为是字符串,所以有substr方法,要对应类型使用自己的方法
    note:我们还可以给元祖赋值,但是赋值的类型要是刚才定义的,string或则number
    x[6]=123;x[8]="hello";x[9]=false这就是错误的,没有定义boolean值

    enum 枚举
    一个好像很神奇的语法,可以将里面的元素和潜在的索引值绑定,并相互反转,组成一个对象
    例如 enum Color {red,green,purple};
    console.log(Color.red);
    编译之后会是这样

    中间部分的对象.键=值的结果是返回值,然后将值又做为键,重新赋值添加到对象中
    note:默认的索引是从零开始的,但是我们可以手动设置自己想要的索引,例如

    访问的时候,我们也可以
    enum Color {red=1,green,purple}
    let colorName:string =Color[2];
    console.log(colorName);

    Any 在开发中我们可能不知道具体的类型是什么的时候,我们可以定义类型为any,
    let h: any = 123;
    h = true;
    h="haha"
    当any的类型是一个数组的时候,我们可以这样
    let list:any[] =[1,"asa",false];
    list[1]=100;

    void 空类型
    function abcd():void{
    console.log(133);
    }
    或则在undefined或null的值的时候使用
    let k:void = undefined;

    never
    表示该值类型不会再发生了,多数发生在错误函数中

    // Function returning never must have unreachable end point
    function error(message: string): never {
        throw new Error(message);
    }
    
    // Inferred return type is never
    function fail() {
        return error("Something failed");
    }
    
    // Function returning never must have unreachable end point
    function infiniteLoop(): never {
        while (true) {
        }
    }
    

    Object
    let bb: Object = {a:123,k:"ads"}

    类型主张
    假设我们知道或许操作的类型比编译器知道的情况,我们可以使用自己的方式执行下去
    let ads:string="123";
    let length123:number =(ads).length;
    或则:
    let asqwe:string="456465";
    let length789 = (asqwe as string).length;
    note:如果使用jsx语法的话,只能使用第二种方式

  • 相关阅读:
    【老生常谈】Attr与Prop的区别
    【NodeJs】入门笔记一
    absolute的left和right的妙用
    文本框选中文字却不出现蓝色选中状态
    Ajax
    Canvas 与 SVG 的区别
    如何学好英语
    xCode6中SizeClass的使用
    CocoaPods安装和使用教程
    Unity3D教程宝典之Shader篇:特别讲 CG函数
  • 原文地址:https://www.cnblogs.com/cyany/p/9655140.html
Copyright © 2011-2022 走看看