【TypeScript】TS入门级基础学习(一)

news/2024/4/26 11:36:28/文章来源:https://blog.csdn.net/suwu150/article/details/131997603

【TypeScript】TS入门级基础学习(一)

在这里插入图片描述

一、前言

TypeScript 是一种用于应用程序规模的 JavaScript 语言。 TypeScript 向 JavaScript 添加了可选类型,支持用于任何浏览器、任何主机、任何操作系统的大规模 JavaScript 应用程序的工具。

TypeScript 可编译为可读的、基于标准的 JavaScript。TypeScript属于强类型语言,JavaScript属于弱类型语言,强类型语言支持静态语言和动态语言,弱类型语言支持动态语言。

这里是TypeScript官方仓库 TypeScript ,有兴趣的可以更深层次了解其本质。

二、基本概念

1.强类型语言和弱类型语言
  • 强类型语言:强类型语言不允许改变变量的数据类型,除非进行强制类型转换。比如C++、Java、C#。
  • 弱类型语言:定义与强类型语言相反,一个变量可以被赋予不同数据类型的值。PHP、Ruby、Python。
2.动态语言和静态语言
  • 静态语言:编译时确定变量的数据类型,运行期间不可以改变其结构,比如C++、Java、C#。
  • 动态语言:运行时才确定数据结构和类型,变量使用之前不需要类型声明,比如:JavaScript、PHP、Ruby、Python。

三、TypeScript与JavaScript的区别

TypeScriptJavaScript
强类型语言,支持动态语言和静态语言弱类型语言,支持动态语言
用于解决大型项目的代码复杂性脚本语言,创建动态网页
可以在编译期间发现并纠正错误只能在运行时发现错误
先被浏览器编译成js语言在浏览器可以直接使用
支持模块、泛型、接口不支持模块、泛型、接口

四、环境搭建及演练准备

对于TypeScript,不能像JavaScript直接在浏览器可以运行,因此我们需要安装编译环境,有两种方案进行练习与演练,其一就是直接安装到本地练习,另一种就是使用官方提供的在线环境进行演练。

4.1 安装到本地
  • 安装
    yarn add typescript -g
    或者
    npm install typescript -g
    
  • 查看版本
    tsc -V
    

在这里插入图片描述

  • 编译ts文件,编译后生成以ts结尾的文件

    tsc xxx.ts
    

我们创建 hellowworld.ts , 添加内容如下,针对 userName 进行了类型定义,定义为基本数据类型string, 然后通过 tsc 命令进行编译,编译成浏览器可直接运行的代码

  var userName:string = '我是suwu150';console.log(userName);

编译后,能够发现在同文件夹下生成同名JavaScript代码 hellowworld.js ,其内容是编译之后的JavaScript代码,可直接在浏览器运行。

  var userName = '我是suwu150';console.log(userName);
4.2 在线运行

这个是官方提供的一个在线演练的环境,后面有很多演练的例子,我们会在此基础上进行演示

官方在线演示环境的地址: https://www.typescriptlang.org/play/

同样的,我们将 TypeScript 代码编写到左侧编辑器,能够同步在右侧看到编译之后的结果

  var userName:string = '我是suwu150';console.log(userName);

编译后结果
在这里插入图片描述

以上就是TypeScript基础知识及环境准备。希望喜欢的同学能够点赞关注。


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_337139.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spark(37):Streaming DataFrame 和 Streaming DataSet 创建

目录 0. 相关文章链接 1. 概述 2. socket source 3. file source 3.1. 读取普通文件夹内的文件 3.2. 读取自动分区的文件夹内的文件 4. kafka source 4.1. 导入依赖 4.2. 以 Streaming 模式创建 Kafka 工作流 4.3. 通过 Batch 模式创建 Kafka 工作流 5. Rate Source…

2023牛客暑期多校-J-Qu‘est-ce Que C‘est?(DP)

题意: 给定长度为n的数列,要求每个数都在的范围,且任意长度大于等于2的区间和都大于等于0,问方案数。。 思路: 首先要看出是dp题,用来表示遍历到第i位且后缀和最小为x的可行方案数(此时的后缀可以只有最…

Java 版 spring cloud +spring boot 工程系统管理 工程项目管理系统源码 工程项目各模块及其功能点清单

工程项目各模块及其功能点清单 一、系统管理 1、数据字典:实现对数据字典标签的增删改查操作 2、编码管理:实现对系统编码的增删改查操作 3、用户管理:管理和查看用户角色 4、菜单管理:实现对系统菜单的增删改查操…

linux下nginx的安装和使用

文章目录 📒安装nginx正常使用nginx包安装1️⃣上传到对应目录2️⃣解压nginx3️⃣检查是否启动成功 使用docker安装nginx 📒使用nginx1️⃣简单的反向代理2️⃣介绍location配置中root和alias的区别 📒安装nginx 正常使用nginx包安装 官网…

BLE基础理论/Android BLE开发示例

参考:https://blog.csdn.net/qq_36075612/article/details/127739150?spm1001.2014.3001.5502 参考: https://blog.csdn.net/qq_36075612/article/details/122772966?spm1001.2014.3001.5502 目录 蓝牙的分类传统蓝牙低功耗蓝牙 蓝牙专业词汇&#xff…

SpringAOP的相关概念

文章目录 一.什么是AOP二.AOP的组成部分三.SpringAOP的实现3.1 增加SpringAOP依赖3.2 创建切面3.2 创建切点3.3 创建通知3.4 创建连接点 四.SpringAOP的实现原理4.1 JDK动态代理4.2 CGLIB 动态代理总结 一.什么是AOP AOP,全称为Aspect-Oriented Programming&#x…

解决 tensorflow 出现的 ImportError: Could not find the DLL(s) ‘msvcp140_1.dll‘. 问题

在安装完tensorflow库后出现 问题详述: ImportError: Could not find the DLL(s) msvcp140_1.dll. TensorFlow requires that these DLLs be installed in a directory that is named in your %PATH% environment variable. You may install these DLLs by downlo…

新零售行业如何做会员管理和会员营销

蚓链数字化营销系统全渠道会员管理解决方案,线上线下统一管理,打造私域流量,微信、门店会员全渠道管理,打通私域流量池,实现裂变营销: 开启新零售之路,必然要摒弃原有的管理模式,大…

郑州多域名https证书

多域名https证书是https证书中比较特殊的一款,它保护的域名记录是众多https证书中最灵活的。不管是DV基础型的多域名https证书还是OV企业型和EV增强型的多域名https证书既可以保护多个主域名或者子域名,还可以主域名子域名随意组合,只要申请者…

【动态规划part11】| 123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV

目录 🎈LeetCode123.买卖股票的最佳时机III 🎈LeetCode188.买卖股票的最佳时机IV 🎈LeetCode123.买卖股票的最佳时机III 链接:123.买卖股票的最佳时机III 给定一个数组,它的第 i 个元素是一支给定的股票在第 i…

无涯教程-jQuery - Pulsate方法函数

Pulsate 效果可以与effect()方法一起使用。这会使元素的不透明性产生多次脉冲。 Pulsate - 语法 selector.effect( "pulsate", {arguments}, speed ); 这是所有参数的描述- times - 脉动的时间。默认值为3。model - 效果的模式。可以是"显示(show)"&a…

基于Java+SpringBoot+vue前后端分离技术交流和分享平台设计实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

Moke 一百万条 Mysql 的数据

文章目录 前言创建数据库创建表结构生成数据 前言 想研究一下,数据量大的情况下,如何优化前端分页,所以需要 Moke 一些数据 创建数据库 在 Mysql的基础上,可以写个语句执行 CREATE DATABASE test_oneMillion; USE test_oneMi…

JAVA SE -- 第十一天

(全部来自“韩顺平教育”) 异常-Exception 一、异常介绍 1、基本介绍 Java语言中,将程序执行中发生的不正常情况为“异常”(开发过程中的语法错误和逻辑错误不是异常) 2、执行过程中发生的异常事件可分为两大类 …

Reinforcement Learning with Code 【Chapter 9. Policy Gradient Methods】

Reinforcement Learning with Code This note records how the author begin to learn RL. Both theoretical understanding and code practice are presented. Many material are referenced such as ZhaoShiyu’s Mathematical Foundation of Reinforcement Learning, . 文章…

opencv+ffmpeg环境(ubuntu)搭建全面详解

一.先讲讲opencv和ffmpeg之间的关系 1.1它们之间的联系 我们知道opencv主要是用来做图像处理的,但也包含视频解码的功能,而在视频解码部分的功能opencv是使用了ffmpeg。所以它们都是可以处理图像和视频的编解码,我个人感觉两个的侧重点不一…

SpringBoot项目部署(前后端分离、Linux部署项目)

一、架构 部署环境说明: 192.168.122.100(服务器A): Nginx:部署前端项目、配置反向代理 Mysql:主从复制结构中的主库 192.168.122.131 (服务器B): jdk: 运行Java项目 git:版本控制工具 (从gitee中拉取源码) maven:…

数据结构:快速的Redis有哪些慢操作?

redis 为什么要这莫快?一个就是他是基于内存的,另外一个就是他是他的数据结构 说到这儿,你肯定会说:“这个我知道,不就是 String(字符串)、List(列表)、 Hash&#xff08…

【SpringCloud Alibaba】(五)服务雪崩与容错方案

在前面的文章中,我们实现了用户微服务、商品微服务和订单微服务之间的远程调用,并且实现了服务调用的负载均衡。 但是,现在系统中存在着一个很明显的问题:那就是如果系统的并发量上来后,系统并没有容错的能力&#xf…

Java | 继承、多态、抽象类与接口

目录 一、类的继承 二、Object类 2.1 getClass()方法 2.2 toString()方法 2.3 equals()方法 三 、对象类型的转换 3.1 向上转换 3.2 向下转型 四、使用instanceof关键字判断对象类型 五、方法的重载 六、final关键字 6.1 final变量 6.2 final方法 6.3 final类 七…