TypeScript 与 Springboot 之惑

前言

接触java和angular也有一段时间了,天天除了上课就是在看教程,感受这两门语言都挺神奇的,一群看不懂的代码搭配在一块儿,造成了初级的界面,还能进行交互,一开始觉得以.ts为后缀的文本写的是后台:php

TeacherController
屏幕截图_25.pngjava


teacher-edit.components.ts
image.png编程


前台以ts为后缀的文本中要写入的代码与后台的类似至极,都有引入时的import声明,都有“@”注解,都有private类型的方法,一开始的想法就是,这不就是两个后台吗,后来越想越不明白,以ts为后缀的文本到底有什么做用呢???浏览器

探究

一开始理所固然的认为TypeScript是后台,那么TypeScript必定是后台,而后直到看到了教程的解释:网络

JavaScript是个伟大、灵活的语言。同时它有具备着上手极简单、精通特别难的特色。这有些相似于网络游戏,刚刚接触的时候感受没有什么进而会给你极其优越的成就感;但随着时间的推移总会出一现新奇的东西须要学习和掌握。固然了,对于咱们而言即是一路踩坑、爬坑的经历。 TypeScript及其相似的语言正是看到了这一点,使得新手在使用 JavaScript可以少踩一些坑,使得习惯了使用不太灵活的面向对象的语言的开发人员可以快速开发 JavaScript程序。其实本质上 TypeScript并非一门语言而一个解析器,它使用一些新的语法、规范来约束咱们的开发,而最终交给浏览器去执行的仍然是 JavaScript,只不过这个 JavaScript是由 TypeScript翻译后自动生成的。

官方如是说:TypeScript is a superset of JavaScript that compiles to clean JavaScript output.TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. Any browser. Any host. Any OS. Open source.架构

再来看一下维基百科给的解释:编程语言

TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个严格超集,并添加了可选的静态类型和使用看起来像基于类的面向对象编程语法操做 Prototype。C#的首席架构师以及Delphi和Turbo Pascal的创始人安德斯·海尔斯伯格参与了TypeScript的开发。46

TypeScript设计目标是开发大型应用,而后转译成JavaScript。[8]因为TypeScript是JavaScript的严格超集,任何现有的JavaScript程序都是合法的TypeScript程序。学习

TypeScript支持为现存JavaScript库添加类型信息的定义文件,方便其余程序像使用静态类型的值同样使用现有库中的值。当前有第三方提供经常使用库如jQuery、MongoDB、Node.js和D3.js的定义文件。spa

到底JavaScript与Java有什么联系呢???
1995年,网景招募了布兰登·艾克,目标是把[Scheme]语言嵌入到Netscape Navigator浏览器当中。但更早以前,网景已经跟昇阳合做在Netscape Navigator中支持Java,这时网景内部产生激烈的争论。后来网景决定发明一种与Java搭配使用的辅助脚本语言而且语法上有些相似,这个决策致使排除了采用现有的语言,例如或Scheme。为了在其余竞争提案中捍卫JavaScript这个想法,公司须要有一个能够运做的原型。艾克在1995年5月仅花了十天时间就把原型设计出来了。翻译

最初命名为Mocha,1995年9月在Netscape Navigator 2.0的Beta版中更名为LiveScript,同年12月,Netscape Navigator 2.0 Beta 3中部署时被重命名为JavaScript,当时网景公司与昇阳电脑公司组成的开发联盟为了让这门语言搭上Java这个编程语言“热词”,所以将其临时更名为JavaScript,往后这成为大众对这门语言有诸多误解的缘由之一


理解

在看完解释以后,突然想到了以前写过的php项目,用到了很多“JS”语句,可是当时不是很了解,再加上之前写的语句跟如今写的大不相同,根本就没想到这俩是一家,结合看过的文档以及以前写过的JS语句,根据本身所理解的,做了一幅图:
image.png


HTML渲染出来的界面展现到浏览器上,用户能够看到渲染出来的界面并进行操做,如点击按钮等,TypeScript对用户的操做作出反应,例如用户想要查看某人的信息,HTML界面展示出来的只有一个按钮,TypeScript负责监控用户是否点击按钮,而且负责执行点击按钮后的一系列动做,在用户点击按钮后,TypeScript获取到用户的身份信息,携带用户身份信息与后台交互,在接受返回的数据后,还要判断信息是否为空以及为空后执行什么动做,不得不说TypeScript的做用真的特别大。
image.png

结语

在结束php的学习后,发现新学的知识更深了,感受有些方法使用起来真是别扭的不行,并且感受Spring的M V C 区分的不如php分明,不事后来理解了以后发现其实也并非那么难搞,总结起来就是不够熟练,刚开始居然连先后台都分不清,不过在理解了以后,再写起来就顺畅了很多,熟能生巧,多加练习才是硬道理。