码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【TypeScript笔记】01 - TS初体验 && TS常用类型


    文章目录

      • 导读
        • 开发环境
      • TS 介绍
      • TS 初体验
        • 安装编译TS工具包
        • 编译并运行TS
        • 简化运行TS
      • TS常用类型
        • TS类型注解
        • TS常用基础类型
      • 参考资料

    导读

    入门级TypeScript,《
    黑马程序员前端TypeScript教程,TypeScript零基础入门到实战全套教程》https://www.bilibili.com/video/BV14Z4y1u7pi

    开发环境

    版本号描述
    node -vv14.18.3
    npm -v6.14.6
    tsc -v4.7.4
    ts-node -v10.9.1

    TS 介绍

    • 微软出品的编程语言,JavaScript的超集
    • JavaScript基础上,添加了类型支持
    • 静态编译语言,编译期间进行变量类型检测

    TS 初体验

    在这里插入图片描述

    安装编译TS工具包

    安装:
    npm -g i typescript

    查看版本
    tsc -v

    编译并运行TS

    编写js

    let mylog = console.log;
    
    console.log('hello')
    
    let age: number = 18;
    mylog(age);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    编译并运行

    khzdeMacBook-Pro:foo_ts khz$ tsc hello.ts 
    khzdeMacBook-Pro:foo_ts khz$ node hello.js
    hello
    18
    khzdeMacBook-Pro:foo_ts khz$ 
    
    • 1
    • 2
    • 3
    • 4
    • 5

    简化运行TS

    npm -g i ts-node
    ts-node -v
    ts-node hello.ts
    
    • 1
    • 2
    • 3

    按照教程中的内容,会报下面的错误:
    在这里插入图片描述
    这是因为:

    console 不属于 EcmaScript 标准。DOM 里面的 console 是浏览器环境下的,属于浏览器BOM API,Node 里面的 console 是 Node.js 里面的,由nodejs自己定义的API,两者虽然有同样的功能,但是并不是同一个东西
    执行npm install -D tslib @types/node安装TypeScript助手的运行时库即可解决问题

    PS: ts-node不会生成hello.js文件。

    TS常用类型

    TS类型注解

    在这里插入图片描述

    TS常用基础类型

    • JS已有类型

      • 原始类型:number, string, boolean, null, undefined, symbol

      • 对象类型(object)

        • 数组:number[],Array,
        • 对象

        在这里插入图片描述
        在这里插入图片描述

        • 函数

        在这里插入图片描述
        在这里插入图片描述
        可选参数:
        在这里插入图片描述

    • TS新增类型

      • 联合类型:(number | string)[]
      • 自定义类型(类型别名):type CoustomArray = (number | string)[]
      • 接口

      在这里插入图片描述
      接口继承:
      在这里插入图片描述

      • 元组

      在这里插入图片描述

      • 字面量类型

      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

      • 枚举

      在这里插入图片描述

      • void
      • any:不推荐使用
        • 隐式any类型:1. 声明类型不提供类型且不赋值 2. 函数参数不加类型

    类型推论场景:

    • 声明变量并初始化
    • 决定函数返回值

    类型断言
    在这里插入图片描述

    typeof在这里插入图片描述
    是可以指定函数类型的!!!

    function add(num1: number, num2: number) {
      return num1 + num2;
    }
    
    let ret: typeof add
    
    • 1
    • 2
    • 3
    • 4
    • 5

    参考资料

    • 《黑马程序员前端TypeScript教程》https://www.bilibili.com/video/BV14Z4y1u7pi
    • qq群:夜猫逐梦技术交流裙/953949723
      逐梦中原技术交流QQ群
  • 相关阅读:
    “TaekwondoBasicMovement“ app Tech Support(URL)
    SWAGGER 出错解决
    【第五部分 | JS WebAPI】2:DOM 元素操作
    SpringBoot2.0.4 依赖feign
    2024中国北京国际大健康产业博览会,引领健康产业发展的盛会
    Java Volatile关键字
    PostMan 测试
    盘点3种Python网络爬虫过程中的中文乱码的处理方法
    LeetCode 周赛上分之旅 #33 摩尔投票派上用场
    【数据结构】树的基础知识及三种存储结构
  • 原文地址:https://blog.csdn.net/kinghzking/article/details/126072589
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号