zoukankan      html  css  js  c++  java
  • Typescript

    原文:TypeScript基本知识点整理

    零、序言

      联合类型表示一个变量值可以是几种类型之一,我们可以使用 “|” 来分割每个类型;

      联合类型的变量在被赋值时,会根据类型推断的规则推断出一个类型;

      如果一个值是联合类型,我们只能访问联合类型的所有类型中共有的属性/方法;

    let ddd : string | number
    ddd = 'nihao'
    console.log(ddd.length)  //ddd被推断成了 string,访问它的 length 属性不会报错
    console.log(`联合类型${ddd}`)
    
    ddd = 255
    console.log(`联合类型${ddd}`)
    console.log(ddd.length)//报错 ddd被推断成了 number,访问它的 length 属性时就报错了
    
    //ddd = false                   err
    //console.log(`联合类型${ddd}`)  err
    

    一、访问联合类型的属性或者方法

      当 TypeScript 不确定一个联合类型的变量到底是哪个类型的时候,我们只能访问此联合类型的所有类型里共有的属性或方法:

    function f11(name : string, age : string | number) {
         console.log(age.length)//报错
     }
    f11('ljy', '21')
    
    报错:Property 'length' does not exist on type 'string | number'.Property 'length' does not exist on type 'number'.
    

     在上例中,length 不是 string 和 number 的共有属性,故会报错。

    function f12(name : string, age : string | number) {
        console.log(age.toString())
    }
    f12('ljy', 21)
    

     toString() 是共有的,故不会报错。

  • 相关阅读:
    Zabbix的前台SQL注射漏洞利用
    LeetCode OJ--Permutation Sequence *
    LeetCode OJ--Next Permutation *
    LeetCode OJ--Permutations II
    LeetCode OJ--Permutations *
    小算法-计算下一个排列
    LeetCode OJ--Gas Station**
    LeetCode OJ--Insert Interval **
    LeetCode OJ--Search Insert Position
    Ruby自动化测试(操作符的坑)
  • 原文地址:https://www.cnblogs.com/cc-freiheit/p/11051614.html
Copyright © 2011-2022 走看看