我是靠谱客的博主 高大巨人,最近开发中收集的这篇文章主要介绍typescript学习 - Day1数据类型,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  • 类型声明

    • 类型声明是TS非常重要的一个特点;

    • 通过类型声明可以指定TS中变量(参数、形参)的类型;

    • 指定类型后,当为变量赋值时,TS编译器会自动检查值是否符合类型声明,符合则赋值,否则报错;

    • 简而言之,类型声明给变量设置了类型,使得变量只能存储某种类型的值;

    • 语法:

      • let 变量: 类型;
        
        let 变量: 类型 = 值;
        
        function fn(参数: 类型, 参数: 类型): 类型{
            ...
        }
        
  • 自动类型判断

    • TS拥有自动的类型判断机制
    • 当对变量的声明和赋值是同时进行的,TS编译器会自动判断变量的类型
    • 所以如果你的变量的声明和赋值时同时进行的,可以省略掉类型声明
  • 类型:

    类型例子描述
    number1, -33, 2.5任意数字
    string‘hi’, “hi”, hi任意字符串
    booleantrue、false布尔值true或false
    字面量其本身限制变量的值就是该字面量的值
    any*任意类型
    unknown*类型安全的any
    void空值(undefined)没有值(或undefined)
    never没有值不能是任何值
    object{name:‘孙悟空’}任意的JS对象
    array[1,2,3]任意JS数组
    tuple[4,5]元素,TS新增类型,固定长度数组
    enumenum{A, B}枚举,TS中新增类型
  • boolean 类型

    var a:boolean = true;
    a = false;
    a = 123;	// 错误,a已经被定义为布尔类型变量
    
  • number类型

    var b:number = 123;
    b = 2;
    b = 2.3;	// 正确,typescript中没有对int和float进行区分,都是数字型
    b = 'string';	// 错误,b已经被定义为数字类型变量
    
  • 数组类型(array)

    // 方法一
    var arr:number[] = [1,2,3];
    
    // 方法二
    var arr:Array<number> = [1,2,3];
    
  • 元组类型(tuple)

    var arr:[string,number,boolean] = ["ts", 1, true];
    
  • 一个元素可能是null | number | undefined

    var a:number | null | undefined;
    num = 1;
    
  • 任意类型:any

    var div:any = document.querySelector('div');
    div.style.color = 'red';
    
  • void类型:表示没有任何类型,一般用于定义没有返回值的方法

    function run():void {
        console.log("没有返回值!");
    }
    run();
    
  • string

    • let color: string = "blue";
      color = 'red';
      
      let fullName: string = `Bob Bobbington`;
      let age: number = 37;
      let sentence: string = `Hello, my name is ${fullName}.
      
      I'll be ${age + 1} years old next month.`;
      
  • 字面量

    • 也可以使用字面量去指定变量的类型,通过字面量可以确定变量的取值范围

    • let color: 'red' | 'blue' | 'black';
      let num: 1 | 2 | 3 | 4 | 5;
      
  • 类型断言

    • 有些情况下,变量的类型对于我们来说是很明确,但是TS编译器却并不清楚,此时,可以通过类型断言来告诉编译器变量的类型,断言有两种形式:

      • 第一种

        • let someValue: unknown = "this is a string";
          let strLength: number = (someValue as string).length;
          
      • 第二种

        • let someValue: unknown = "this is a string";
          let strLength: number = (<string>someValue).length;
          

最后

以上就是高大巨人为你收集整理的typescript学习 - Day1数据类型的全部内容,希望文章能够帮你解决typescript学习 - Day1数据类型所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部