• 693 TypeScript概述、运行环境,ts中定义JavaScript类型的变量


    JavaScript一门优秀的语言


    JavaScript的痛点


    类型带来的问题


    类型错误


    类型思维的缺失


    JavaScript添加类型约束


    认识TypeScript


    TypeScript的特点


    众多项目采用TypeScript


    前端学不懂系列


    大前端的发展趋势


    TypeScript的编译环境


    TypeScript的运行环境


    使用ts-node

    npm install ts-node -g
    npm install tslib @types/node -g


    变量的声明


    声明变量的关键字


    变量的类型推导(推断)


    JavaScript和TypeScript的数据类型


    JavaScript类型 – number类型


    JavaScript类型 – boolean类型


    JavaScript类型 – string类型


    JavaScript类型 – Array类型


    JavaScript类型 – Object类型


    JavaScript类型 – Symbol类型


    JavaScript类型 – null和undefined类型


    01_JavaScript的类型检测.js

    // 当前foo函数, 在被其他地方调用时, 没有做任何的参数校验
    // 1> 没有对类型进行校验
    // 2> 没有对是否传入参数进行校验
    function foo(message) {
      if (message) {
        console.log(message.length)
      }
    }
    
    foo('Hello World')
    foo('你好啊,哈哈')
    
    foo(123)
    foo()
    
    // 永远执行不到
    console.log('渲染界面成千上万行的JavaScript代码需要执行, 去渲染界面')
    
    // 定义变量
    let bar = 'abc'
    bar = 123
    bar.length
    

    01_Hello_TypeScript.js

    var message = 'hello typescript'
    function foo(payload) {
      console.log(payload.length)
    }
    foo(123)
    foo('aaa')
    

    01_Hello_TypeScript.ts

    let message: string = 'hello typescript'
    
    function foo(payload: string) {
      console.log(payload.length)
    }
    
    // foo(123)
    foo('aaa')
    
    export {}
    

    02_TypeScript的数据类型.ts

    const name: string = 'abc'
    const age: number = 18
    
    console.log(name)
    console.log(age)
    
    export {}
    

    01_变量的定义格式.ts

    // 1.类型注解
    // 2.var/let/const
    // 3.string和String的区别
    // 4.类型推导
    var name: string = 'why'
    let age: number = 18
    const height: number = 1.88
    
    // string: TypeScript中的字符串类型
    // String: JavaScript的字符串包装类的类型
    const message: string = 'Hello World'
    
    // 默认情况下进行赋值时, 会将赋值的值的类型, 作为前面标识符的类型,这个过程称之为类型推导/推断
    // foo没有添加类型注解
    let foo = 'foo'
    // foo = 123
    
    export {}
    

    02_number类型的使用.ts

    let num: number = 123
    num = 222
    
    // num = "123"
    
    let num1: number = 100
    let num2: number = 0b100
    let num3: number = 0o100
    let num4: number = 0x100
    
    console.log(num1, num2, num3, num4)
    

    03_boolean类型的使用.ts

    let flag: boolean = true
    flag = 20 > 30
    

    04_string类型的使用.ts

    let message1: string = 'hello world'
    let message2: string = 'Hello World'
    
    // 个人习惯: 默认情况下, 如果可以推导出对应的标识符的类型时, 一般情况下是不加
    const name = 'why'
    const age = 18
    const height = 1.88
    
    let message3 = `name: ${name} age: ${age} height: ${height}`
    console.log(message3)
    
    export {}
    

    05_array类型的使用.ts

    // 确定一个事实: names是一个数组类型, 但是数组中存放的是什么类型的元素呢?
    // 好的习惯: 一个数组中在TypeScript开发中, 最好存放的数据类型是固定的(string)
    // 类型注解: type annotation
    const names1: Array<string> = [] // 不推荐(react jsx中是有冲突   <div></div>)
    const names2: string[] = [] // 推荐
    
    // 在数组中存放不同的类型是不好的习惯
    // names.push("abc")
    // // names.push(123)
    

    06_object类型的使用.ts

    const info = {
      name: 'why',
      age: 18,
    }
    
    console.log(info.name)
    

    07_null和undefined类型.ts

    let n1: null = null
    let n2: undefined = undefined
    

    08_symbol类型.ts

    const title1 = Symbol('title')
    const title2 = Symbol('title')
    
    const info = {
      [title1]: '程序员',
      [title2]: '哈哈',
    }
    
    export {}
    

  • 相关阅读:
    ltp-ddt makefile的思考
    Linux configure,make,make install
    linux下can调试工具canutils安装过程记录
    windows下运行jar
    悲观锁
    mysql事务锁表
    静态内部类
    局部类
    匿名内部类(new类时覆盖类中方法)
    回文字
  • 原文地址:https://www.cnblogs.com/jianjie/p/15066056.html
Copyright © 2020-2023  润新知