疑犯追踪百度云1 41到5百度云

TypeScript – 值得一用? - 技术翻译 - 开源中国社区
TypeScript – 值得一用?
【已翻译100%】
英文原文:
推荐于 11个月前 (共 4 段, 翻译完成于 07-01)
参与翻译&(1人)&:
&是几年前第一个出现在我面前的JavaScript转译语言,但是在使用了一段时间之后,我放弃了继续使用它。
诚然CoffeeScript使大家更容易的使用JavaScript,但是不像JavaScript,并没有很多的开发人员使用它,它的语法结构也和JavaScript有很大的区别,所有学习CoffeScript需要投入大量的时间和精力,学习曲线将非常的陡峭。
我并没有攻击CoffeeScript意思,同样的事情发生在所有的类似的语言身上(这里所说的类似的语言是指需要使用某种编译器将语言翻译成浏览器理解的语言的语言)。对于这些语言,因为他们大多数是开源的,所以他们可能引入大量的不想后兼容的修改。当然对于传统的编译语言,也可能发生相似的问题,但是在大部分时候他们都相当的问题,并且被一群有着丰富经验的开发人员维护着。
&翻译得不错哦!
TypeScript 和 Angular 2
当近期Angular 2开始浮出水面的时候,我注意到Angular 2推荐使用TypeScript进行系统的开发,而且所有的官方例子也是基于TypeScript开发的。作为一个Angular 1的粉丝,我决定把我的成见放在一旁,开始学习Angular 2系统选择的TypeScript。
JavaScript是一门纯动态语言,对某些人来说这是一个福音,但是对有些人来说就是一个噩梦(动态语言给开发人员带来巨大好处的同时,也对开发人员提出了更高的要求)。在JavaScript的开发过程中,当团队规模超过1人的时候,很容易就产生混乱的代码。TypeScript的目标就是让开发人员能够更好的管理类型和参数。
在多年的C#开发过程中,我一直纠结于定义正确的类型和接口是否是必须的。通过定义正确的类型和接口,最重要的事情就是让你可以很容易的替换实现(因为所有的调用接口都是一致的),而这一点,从理论上来说,将会在测试和开发过程中节省大量的时间。
&翻译得不错哦!
让我们通过下面这个简单的"Shapes"例子来了解一下TypeScript的相关知识。在我们的例子中,每个Shape都是一个多边形,所以我们创建了一个IPolygon接口,这个接口定义了我们在这个例子中需要用到的关于多边形的所有信息。
import&{&Color&}&from&"../Color";
export&interface&IPolygon&{
toString():&
下面我们将创建一个正方形对象,这个对象实现了IPolygon接口:
import&{&IPolygon&}&from&"./IPolygon";
import&{&Color&}&from&"../Color";
export&class&Square&implements&IPolygon&{
name&=&"Square";
fill&=&Color.B
stroke&=&Color.R
width&=&0;
height&=&0;
constructor(size:&number)&{
this.width&=&
this.height&=&
toString()&{
return&this.height&+&"px&"&+&this.width&+&"px";
你可能注意到了上面的代码中引用了Color对象,这个对象存在的目的在于设置一些可以被外部程序使用的静态变量:
export&class&Color&{
constructor(hexCode:&string)&{
this.hexCode&=&hexC
static&Red:&Color&=&new&Color("#f00");
static&Black:&Color&=&new&Color("#000");
接下来我们创建了一个"canvas"对象,我们可以在这个对象上画任何的IPolygon对象。"canvas"对象提供了一个draw方法,这个方法将调用所有加入到canvas对象中的IPolygon对象的draw方法。
import&{&ICanvas&}&from&"./ICanvas";
import&{&IPolygon&}&from&"./shapes/IPolygon";
export&class&NullCanvas&implements&ICanvas&{
items:&IPolygon[];
constructor()&{
this.items&=&[];
for&(let&i&=&0;&i&&&this.items.&i++)&{
let&item&=&this.items[i];
item.draw();
add(item:&IPolygon)&{
this.items.push(item);
&翻译得不错哦!
从C#程序员的角度看,这段TypeScript代码基本已经是面向对象的风格了,但是从一个JavaScript程序员的角度看,这段代码和以前的JavaScript代码完全不一样,至少和ES6之前的JavaScript代码完全不一样。经过一个下午的学习,我渐渐喜欢上了TypeScript语言,已经如何用它来书写代码。
现在回到我一开始的问题上:是否值得花时间学习TypeScript?我目前还无法说服自己使用TypeScript,特别是ES6也提供了类似的功能。但是对于一个大的团队来说,TypeScript提供的类型安全将给所有的开发人员带来巨大的好处,但是对于一个小规模的项目,我觉得ES6已经足够好的提供了一种标准的应用开发流程。
&翻译得不错哦!
我们的翻译工作遵照 ,如果我们的工作有侵犯到您的权益,请及时联系我们
你看过翻译之后的JS么 写ts简直就是浪费休息时间
引用来自“doge_刀戈”的评论你看过翻译之后的JS么 写ts简直就是浪费休息时间当然看过,你要明白,ts作用是什么,把大量的运行时错误转化成编译时错误,转化出来的代码又不是把你的性能降低了很多。如果这么说,ts,babel之类的就没法用了呗。如果你觉得转化后的代码效率低,举例出来,提交给他们的issue,我就不信会晾着你。
ts省时省力
静态语言如果没有Interface或者类似的东西,指明两个类需要有共同的行为,编译器是无法知道这些共同行为需要怎样的结构(返回值类型,参数个数,参数分别的类型,返回异常类型等)。这样就做不到类型检查。当然,更现代的编译器可以进行类型推断,但在这个层面下,你说的这个场景Interface和宏都不需要了。
虽然一般来说这样说没错。但是js作为动态语言,一旦代码规模大了就很难管理。现在浏览器里js因为历史原因成了一个包袱,所以出现了asm.js这种几乎不可读的东西,但是性能极度提高到接近C,这样其他语言就编译成asm.js即可。&>&&>&&>&&>&typescript例子-如何使用 jquery
typescript例子-如何使用 jquery
上传大小:7KB
typescript例子-如何使用 jquery
综合评分:4.4(39位用户评分)
收藏((1))
所需积分:0
下载次数:951
审核通过送C币
创建者:guo8ke
创建者:qq
课程推荐相关知识库
积分&27695
上传者其他资源上传者专辑
开发技术热门标签
VIP会员动态
android服务器底层网络模块的设计方法
所需积分:0
剩余积分:720
您当前C币:0
可兑换下载积分:0
兑换下载分:
兑换失败,您当前C币不够,请先充值C币
消耗C币:0
你当前的下载分为234。
typescript例子-如何使用 jquery
会员到期时间:
剩余下载次数:
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:

我要回帖

更多关于 疑犯追踪1到5集百度云 的文章

 

随机推荐