裴大头-秦可爱

裴大头-秦可爱

初识TypeScript

发表于 2021-07-02
裴大头
阅读量 317
更新于 2021-07-02

TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准(ES6 教程)。 TypeScript 由微软开发的自由和开源的编程语言。 TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript 可以运行在任何浏览器上。

首先总结一句话ts是js的超集,这说明ts可以兼容js的语法,大大降低了门槛(哈哈哈)。先说一下我对ts的看法,因为我本是前后端都在使用,感觉ts更像java,比js“强”了许多。

::: hljs-center width:100px;height:100px; width:100px;height:100px; :::

TypeScript和JavaScript的区别

1、数据类型

js的类型:

boolean类型、number类型、string类型、array类型、undefinednull
js

ts的类型(在js的类型上还包括)

tuple类型(元组类型)、enum类型(枚举类型)、any类型(任意类型)
js

特别的类型

void类型(没有任何类型)表示定义方法没有返回值
never类型:是其他类型(包括nullundefined)的子类型,代表从不会出现的值这意味着声明never变量只能被never类型所赋值
js

关于never类型的详细解释可以看一下vue的作者尤雨溪的回答:TypeScript中的never类型具体有什么用?

需要提醒的是在js中,我们初始化一个对象时(或者称之为数据)时不需要强调他的类型,无论是数组还是字符串,初始化时都可以

let a = '';
let b = [];
js

但是在ts中需要指定数据类型

let a:string = 'abc';
let b:number[] = [1, 2, 3];
let c:Array<number> = [1, 2, 3];
js

是不是更像java了···

2、函数返回值

在js中

function getName() {
	return '张三'
}
js

在ts中

function getName():string{
        return '张三'
}
js

在ts中需要声明函数返回值的类型

并且,因为ES6的原因,ts的许多标准在js中也已经实现,比如说:

let/const关键字; lambda表达式(箭头函数); class类 ==所以,除强类型与泛型等从C#引入的面向对象特性,js与ts的差异已基本被抹平(当然,也只是以为个人的知识面有限)。==

目前的话,还在处于学习状态,如果有疑问或者意见,可以留言评论,最后希望大家一起学习交流,一起进步!

推荐阅读

1、记录第一次vue3.0+vite+ts+ant 2、引入网易云音乐播放器卡片 3、vue项目集成腾讯滑块验证 4、Navicat Premium 15 永久破解激活工具及安装教程

关注公众号 width:400px;height:150px;

关注贴吧:pei你看雪吧

评论
来发一针见血的评论吧!
表情

快来发表评论吧~

推荐文章
  • Vue项目代码规范

    1点赞1评论

  • JavaScript 的事件循环机制

    1点赞1评论

  • 聊一聊我的文本编辑器

    1点赞11评论

  • JavaScript的常用遍历方法整理

    1点赞8评论

  • 前端面试精选-基础篇

    1点赞0评论

Crafted with by Pei你看雪

小破站居然运行了 865 天访客 23357

© 2023 Pei你看雪鲁ICP备19037910号-2