TypeScript Vs JavaScript 区别
一、观察
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 全局安装一下

它会安装一个 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]

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);

运行02-体验TS.ts
利用我们刚刚下载的TS插件当中给我们安装了一个tsc的东西

编译成功后

编译错误代码

提示期望得到一个数组,这样子TS就帮助弱类型变成强类型了
TypeScript Vs JavaScript 区别的更多相关文章
- Typescript 和 Javascript之间的区别
TypeScript 和 JavaScript 是目前项目开发中较为流行的两种脚本语言,我们已经熟知 TypeScript 是 JavaScript 的一个超集,但是 TypeScript 与 Jav ...
- TypeScript 和 JavaScript 的区别
TypeScript 和 JavaScript 是目前项目开发中较为流行的两种脚本语言,我们已经熟知 TypeScript 是 JavaScript 的一个超集.JavaScript 和 TypeSc ...
- TypeScript和JavaScript的区别
JavaScript和TypeScript的对比 注:参考https://juejin.im/entry/5a52ed336fb9a01cbd586f9f做的笔记 概要介绍 JavaScript Ja ...
- TypeScript VS JavaScript 深度对比
TypeScript 和 JavaScript 是目前项目开发中较为流行的两种脚本语言,我们已经熟知 TypeScript 是 JavaScript 的一个超集,但是 TypeScript 与 Jav ...
- TypeScript 强类型 JavaScript – Rafy Web 框架选型
今天看到了 AngularJs 2.0 版本将基于 TypeScript 构建 的消息.与同事们对 TypeScript 展开了讨论.本文记录一些个人的想法. 理想的 JavaScript 开发模式 ...
- TypeScript和JavaScript哪种语言更先进
TypeScript和JavaScript哪种语言更先进 近两年来最火爆的技术栈毫无争议的是JavaScript,随着ES6的普及,不管是从前端的浏览器来看,还是后端的NodeJS场景,JavaScr ...
- [连载]Tutorial series: learning how to write a 3D soft engine from scratch in C#, TypeScript or JavaScript[英]
MSDN中的一篇博文链接:Tutorial series: learning how to write a 3D soft engine from scratch in C#, TypeScript ...
- firefox与ie 的javascript区别
1. Document.form.item 问题 现有问题: 现有代码中存在许多 document.formName.item("itemName") 这样的语句,不能在 ...
- [求教]利用typescript对Javascript做强类型检测提示
近期在学习typescript的时候,发现ts居然可以对原生js做强检测.发现从v2.3就开始直接了.这让我感叹他的变化,又让我自己感到学习的缓慢.本文章就对他小试牛刀一下. 一.他是的使用与支持 通 ...
- 编译TypeScript(TypeScript转JavaScript)
1.配置tsconfig.json文件 tsconfig.json文件配置说明 { "compilerOptions": { //生成相关说明,TypeScript编译器如何编译. ...
随机推荐
- 如何把网页打包成苹果原生APP并上架TF(TestFlight)
打包网页APP并上架到TestFlight流程 需要准备的材料: 1. GDB苹果网页打包软件1.6.0或者以上版本: https://www.cnblogs.com/reachteam/p/1229 ...
- MySQL面试题——隔离级别相关面试题
隔离级别相关面试题 MySQL事务隔离级别 未提交读--可以读到其他事务未提交的数据(最新的版本) 错误现象:脏读.不可重复读.幻读的现象 提交读(RC)--可以读到其他事务已提交的数据(最新已提交的 ...
- Solution -「CSP-S 2020」函数调用
Description 大家应该都读过题. Solution 赛后变摩托. 我们对每一个操作 \(3\) 连边建图,然后可以知道只是一个 \(\texttt{DAG}\). 考虑操作 \(2\),我们 ...
- Teamcenter RAC 开发之《PlaceHolder》
背景 做个swing表单,有时候想实现一些网页input标签的placeHolder提示,可能本人写vue or html写多,对某些细节有强迫症,所以找小下资料 实现方法(Swingx) 看源码
- 前端框架——Vue3
文章目录 Vue3快速上手 1.Vue3简介 2.Vue3带来了什么 1.性能的提升 2.源码的升级 3.拥抱TypeScript 4.新的特性 一.创建Vue3.0工程 1.使用 vue-cli 创 ...
- Top 6 Refactoring Patterns to Help You Score 80% in Code Quality
Top 6 Refactoring Patterns to Help You Score 80% in Code Quality Posted by Ajitesh Kumar / In Code R ...
- Windows10 下载并编译指定版本chromium源码
1.一些信息 Chromium 的官网是 https://www.chromium.org/ Git 仓库是 https://chromium.googlesource.com/chromium/sr ...
- 循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(12) -- 使用代码生成工具Database2Sharp生成WPF界面代码
1.代码生成工具Database2Sharp生成WPF界面代码 WPF应用端的基础接口,和Winform端.Vue3+ElementPlus前端一样,都是调用SqlSugar开发框架中的相关业务接口, ...
- 从零开始编写一个 Python 异步 ASGI WEB 框架
从零开始编写一个 Python 异步 ASGI WEB 框架 前言 本着 「路漫漫其修远兮,吾将上下而求索」 的精神,这次要和朋友们分享的内容是<从零开始编写一个 Python 异步 ASGI ...
- codeforce 827div4
第一次在codeforce上打题,补一下题记录成长 D题 分析:求数组中两个互质的数的最大下标和: 思路:观察到数据范围n是2e5暴力做n^2会超时,再观察数据a[i]最大为1000,所以这2e5个数 ...