TypeScript Vs JavaScript 区别

news2024/11/30 0:34:27

一、观察

1. JS 平常的复制类型

let val;
val = 123;
val = "123";
val = true;
val = [1, 3, 5];

注意点:
由于JS是弱类型的, 所以只要定义了一个变量, 就可以往这个变量中存储任意类型的数据
也正是因为如此, 所以会给我们带来一个问题

2. 假设a是一个数组, b是一个数值

function test(a, b) {
    return a.length + b;
}
> let res = test([1, 3, 5], 10);
console.log(res);
上面会正常的输出 : 13

3. 好这只是我们的期望a是数组假如?

> let res = test(1, 10);
console.log(res);
上面则会输出什么呢?

二、问题

经过我们的小例子可以看出JS是不严格的未在编写时候就提示这里是错误的!!!

1. TS

安装我们的TS 提前要有node环境哦

打开命令行安装 npm install typescript -g 全局安装一下

image-20230605221327111

它会安装一个 tsc的编译工具 就和less sass一样编译成可运行的js文件

2.体验TS

创建02-体验.ts文件

注意点: 由于TS 并不是一门新的语言,而是对JS对扩展, 所以我们可以在TS文件当中直接编写JS代码

let val: number; // 定义指定参数类型
// 数字
val = 123;
// 报错
val = "123";
val = true;
val = [1, 3, 5]

image-20230605222053376

1. 严格的TS

期望a是一个数组, b是一个数值

// 定义限制any[]为数组类型 number 数字
function test(a:any[], b:number) {
    return a.length + b;
}

// 正确
> let res = test([1,3,5], 10);
console.log(res);

// 直接编译器提示错误
let res = test(1, 10);
console.log(res);

image-20230605223115670

运行02-体验TS.ts

利用我们刚刚下载的TS插件当中给我们安装了一个tsc的东西

image-20230605223419409

编译成功后

image-20230605223523398

编译错误代码

image-20230605223739173

提示期望得到一个数组,这样子TS就帮助弱类型变成强类型了

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java+SSM+vue停车场管理系统

家家户户对于汽车的需求日益的增长。在促进了汽车行业的发展的同时,也对我国的交通造成了较大的压力。首先在日常的出行中,老旧城区道路狭窄,容易造成车辆的堵塞,每天早晚,接送孩子的车辆数密集,会造成相应…

【工业控制系统安全】深入了解 ICS612:ICS 网络安全:第 1 部分

ICS 从业者可以立即在实际情况中使用他们的 ICS612 培训。 降落飞机 我认识一家生产工厂的首席执行官,我们就叫他比尔吧,他希望他的关键团队成员真正了解他的运营团队每天为实现生产目标而承受的压力。比尔还希望他的经理和支持人员能够理解“让它发生”…

你知道支付宝转账怎么在自己的手机上不留痕迹吗

支付宝和微信支付是现代社会中非常普遍的移动支付方式,可以方便快捷地完成各种线上和线下交易。然而,在一些情况下,用户可能希望隐藏或删除某些转账的痕迹,以保护个人隐私或避免不必要的麻烦。对于支付宝而言,实际上有…

RabbitMQ - 幂等性、优先级、惰性

RabbitMQ - 幂等性、优先级、惰性 幂等性优先级队列惰性队列 幂等性 概念 用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。 举个最简单的例子,那就是支付,用户购买商品后支付,支付…

Mysql中联合索引的最左匹配

联合索引 通过将多个字段组合成一个索引,该索引就被称为联合索引。 比如,将商品表中的 product_no 和 name 字段组合成联合索引(product_no, name),创建联合索引的方式如下: CREATE INDEX index_product_no_name ON product(pr…

尝试用Go goroutine实现一个简单的聊天服务

hello,大家好,我是张张,「架构精进之路」公号作者。 对于聊天服务,想必大家都不会陌生,因为在我们的生活中经常会用到。 我们用 Go 并发来实现一个聊天服务器,这个程序可以让一些用户通过服务器向其它所有用…

总有人问我 Cookie 是什么?

苏生不惑第432 篇原创文章,将本公众号设为星标,第一时间看最新文章。 之前分享过我写的微博批量下载工具2023 更新版:苏生不惑开发过的那些原创工具和脚本 ,因为要输入自己账号的cookie,总有人问我cookie是什么?今天写…

FPGA 的数字信号处理:重写 FIR 逻辑以满足时序要求

在上一篇文章中(FPGA 的数字信号处理:Verilog 实现简单的 FIR 滤波器)演示了在 Verilog 中编写自定义 FIR 模块的初始demo。该项目在行为仿真中正常,但在布局和布线时未能满足时序要求。 所以今天的文章让我们来看看当设计不能满足…

Nacos集群Raft反序列化漏洞-修复

近日,奇安信CERT监测到 Nacos 集群Raft反序列化漏洞(QVD-2023-13065),在Nacos集群处理部分Jraft请求时,攻击者可以无限制使用hessian进行反序列化利用,最终实现代码执行。鉴于该漏洞仅影响集群间通信端口 7848(默认配置下)&#x…

计算机网络管理-实验6-使用SNMPc开展网管活动

一、实验目的 全面学习SNMPc网络管理软件业务服务监控功能,了解如何使用网管软件从事网络管理工作 二、实验内容与设计思想 1)操作映射数据库。 2)查看管理对象的MIB数据。 3)创建、保存长期统计数据(要求一定时长…

spring事务隔离

在数据库中读取数据时,可能会遇到以下三个常见的问题:脏读(Dirty Read)、不可重复读(Non-repeatable Read)和幻读(Phantom Read)。 这些问题主要涉及并发事务的隔离性和一致性。 脏…

ChatGPT 4 的 6 个最佳使用场景

作者:SYDNEY BUTLER 译者:明明如月 无论是在 ChatGPT 中还是通过 API,对 OpenAI 的 GPT-4 模型的访问比 GPT-3.5 限制更多。这意味着你需要慎重考虑在何种情况下使用 GPT-4,并选择性地将最适合的任务交给它,以便让其发…

来薅羊毛!阿里云 AI 神器公测了

阿里云 AI 神器「通义听悟」上线了,宣称是身边的 AI 学习助手。这名字听着挺玄乎的,老逛也去试了一下,确实解决了之前遇到的很多问题。 01 视频转文字 老逛是小破站的资深用户,喜欢几个不错的 UP 主,比如老蒋&#xff…

sklearn中的roc_auc_score(二分类或多分类)

官方API地址: sklearn.metrics.roc_auc_score — scikit-learn 1.2.2 documentationExamples using sklearn.metrics.roc_auc_score: Release Highlights for scikit-learn 0.22 Release Highlights for scikit-learn 0.22 Probability Calibration curves Probabi…

AI创作与大语言模型:2023亚马逊云科技中国峰会引领企业应用新潮流

川川出品,必属精品。 文章目录 CodeWhispere免费的代码生成器安装教程使用自动编码 2023亚马逊云科技中国峰会最后总结 CodeWhispere免费的代码生成器 这里我介绍亚马逊云科技的一个产品,那就是Amazon codewhisperer。大家肯定对AI各种产品的火爆已经有…

F/S系统分分钟系统秒变BS/CS,但共享文件夹上的DBF访问掉了个坑

接VFP MIX ALL社群狐友求助,说IIS访问共享文件夹的DBF出错了: 猫猫复现了一下错误: 错误号1705 不能访问DBF表 这个问题估计还是会有很多狐友会遇到这个问题,那么我们就来解决一下吧. 在服务器上面建好共享文件夹 \\newserver\dbf 里面放一个…

开源项目|EasyOCR一款实用的图片OCR文字识别项目

欢迎关注「全栈工程师修炼指南」公众号 点击 👇 下方卡片 即可关注我哟! 设为「星标⭐」每天带你 基础入门 到 进阶实践 再到 放弃学习! “ 花开堪折直须折,莫待无花空折枝。 ” 作者主页:[ https://www.weiyigeek.top ] 博客&…

一级建造师执业资格考试--工程经济--速学36记--联想法

第一记:利息的计算 第二记:等值计算 第三记:名义利率与有效利率 第四记:经济效果评价指标体系 第五记:静态投资回收期分析 第六记:静态投资回收期分析 第七记:预付款 第八记:施工索赔…

2023年深圳某互联网公司前端开发初级岗笔试真题(含解析和源码)

📚关于该专栏: 该专栏的发布内容是前端面试中笔试部分真题、答卷类、机试等等的题目,题目类型包括逻辑题、算法题、选择题、问答题等等,除了内容的分享,还有解析和答案。真实来自某些互联网公司,坐标广东广州、深圳。 …

如何使用Python Flask和MySQL创建管理用户的REST API

部分数据来源:ChatGPT 引言 在现代化的应用开发中,数据库是一个非常重要的组成部分。关系型数据库(例如:MySQL、PostgreSQL)在这方面尤其是很流行。Flask是一个Python的web框架,非常适合实现REST API。在…