前言
接触java和angular也有一段时间了,每天除了上课就是在看教程,感觉这两门语言都挺神奇的,一群看不懂的代码搭配在一起,形成了初级的界面,还能进行交互,一开始以为以.ts为后缀的文本写的是后台:
TeacherController
teacher-edit.components.ts
前台以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的开发。46TypeScript设计目标是开发大型应用,然后转译成JavaScript。[8]由于TypeScript是JavaScript的严格超集,任何现有的JavaScript程序都是合法的TypeScript程序。
TypeScript支持为现存JavaScript库添加类型信息的定义文件,方便其他程序像使用静态类型的值一样使用现有库中的值。当前有第三方提供常用库如jQuery、MongoDB、Node.js和D3.js的定义文件。
到底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语句,根据自己所理解的,作了一幅图:
HTML渲染出来的界面展示到浏览器上,用户可以看到渲染出来的界面并进行操作,如点击按钮等,TypeScript对用户的操作做出反应,例如用户想要查看某人的信息,HTML界面展现出来的只有一个按钮,TypeScript负责监控用户是否点击按钮,并且负责执行点击按钮后的一系列动作,在用户点击按钮后,TypeScript获取到用户的身份信息,携带用户身份信息与后台交互,在接受返回的数据后,还要判断信息是否为空以及为空后执行什么动作,不得不说TypeScript的作用真的特别大。
结语
在结束php的学习后,发现新学的知识更深了,感觉有些方法使用起来真是别扭的不行,而且感觉Spring的M V C 区分的不如php分明,不过后来理解了之后发现其实也并不是那么难搞,总结起来就是不够熟练,刚开始竟然连前后台都分不清,不过在理解了之后,再写起来就顺畅了不少,熟能生巧,多加练习才是硬道理。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。