一、观察

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 区别的更多相关文章

  1. Typescript 和 Javascript之间的区别

    TypeScript 和 JavaScript 是目前项目开发中较为流行的两种脚本语言,我们已经熟知 TypeScript 是 JavaScript 的一个超集,但是 TypeScript 与 Jav ...

  2. TypeScript 和 JavaScript 的区别

    TypeScript 和 JavaScript 是目前项目开发中较为流行的两种脚本语言,我们已经熟知 TypeScript 是 JavaScript 的一个超集.JavaScript 和 TypeSc ...

  3. TypeScript和JavaScript的区别

    JavaScript和TypeScript的对比 注:参考https://juejin.im/entry/5a52ed336fb9a01cbd586f9f做的笔记 概要介绍 JavaScript Ja ...

  4. TypeScript VS JavaScript 深度对比

    TypeScript 和 JavaScript 是目前项目开发中较为流行的两种脚本语言,我们已经熟知 TypeScript 是 JavaScript 的一个超集,但是 TypeScript 与 Jav ...

  5. TypeScript 强类型 JavaScript – Rafy Web 框架选型

    今天看到了 AngularJs 2.0 版本将基于 TypeScript 构建 的消息.与同事们对 TypeScript 展开了讨论.本文记录一些个人的想法. 理想的 JavaScript 开发模式 ...

  6. TypeScript和JavaScript哪种语言更先进

    TypeScript和JavaScript哪种语言更先进 近两年来最火爆的技术栈毫无争议的是JavaScript,随着ES6的普及,不管是从前端的浏览器来看,还是后端的NodeJS场景,JavaScr ...

  7. [连载]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 ...

  8. firefox与ie 的javascript区别

    1. Document.form.item 问题     现有问题: 现有代码中存在许多 document.formName.item("itemName") 这样的语句,不能在 ...

  9. [求教]利用typescript对Javascript做强类型检测提示

    近期在学习typescript的时候,发现ts居然可以对原生js做强检测.发现从v2.3就开始直接了.这让我感叹他的变化,又让我自己感到学习的缓慢.本文章就对他小试牛刀一下. 一.他是的使用与支持 通 ...

  10. 编译TypeScript(TypeScript转JavaScript)

    1.配置tsconfig.json文件 tsconfig.json文件配置说明 { "compilerOptions": { //生成相关说明,TypeScript编译器如何编译. ...

随机推荐

  1. 【matplotlib 实战】--折线图

    折线图是一种用于可视化数据变化趋势的图表,它可以用于表示任何数值随着时间或类别的变化. 折线图由折线段和折线交点组成,折线段表示数值随时间或类别的变化趋势,折线交点表示数据的转折点. 折线图的方向表示 ...

  2. strcpy()函数详解

    strcpy()函数是C语言中的一个复制字符串的库函数,以下将详细解释说明一下: · 函数声明以及实现代码 char *strcpy(char *dst, const char *src);char ...

  3. matlab启动时的路径警告

    前段时间在做HDLCoder时为方便修改设置加了一条路径在搜索路径目录,后来把路径名称修改了,文件夹也删掉了,换句话说就是路径不存在了,然后在matlab的setpath对话框里边也把该目录删除了. ...

  4. 【Azure Developer】在App Service上放置一个JS页面并引用msal.min.js成功获取AAD用户名示例

    问题描述 在App Service上放置一个JS页面并引用msal.min.js,目的是获取AAD用户名并展示. 问题解答 示例代码 <!DOCTYPE html> <html> ...

  5. python-手机自动化环境部署

    关于ui-automator,google的官方介绍: https://developer.android.google.cn/training/testing/ui-automator https: ...

  6. Flask后端开发(一)-基础知识和前期准备

    目录 1.背景介绍 1.1. 项目背景 1.2. 项目难点 1.3. 项目环境 2. flask后端开发实现的功能 3. flask部署和前后端对接 3.1. flask运行配置和服务器部署 3.2. ...

  7. 利用Zip.js压缩并上传文件,后端使用.Net(Winform)接收转存

    没时间解释了,快上车... 前端js: upload=function () { if(window.FormData) { var fileslist=$("input[type='fil ...

  8. 模拟退火算法(SA)

    求某个目标函数的最值 爬山法 首先我们通过爬山法来引出模拟退火算法 我们先看一个例子:求函数的最值 我们用爬山法解决这个问题的步骤 1.在解空间中随机生成一个初始解(图中小黄点就是我们生成的初始解) ...

  9. ansible 命令行模

    ansible 命令行模 ansible命令格式 命令格式:ansible <组名> -m <模块> -a <参数列表> 查看已安装的模块 ansible-doc ...

  10. Python自动化处理Excel数据

    需求描述:数据格式如下所示,需要分离出2023年7月1号之后的数据明细 数据核对与处理:从Excel文件中提取特定日期后的签收数据 1. 引言 在实际数据处理和分析过程中,经常会遇到需要从大量数据中提 ...