zoukankan      html  css  js  c++  java
  • CoffeeScript vs TypeScript

    CoffeeScriptTypeScript都是需要编译成JavaScript的语言,毕竟浏览器不认识它们,但是这是两个出发点不一样的东西,可以短浅地梳理一下。

    CoffeeScript

    CoffeeScript是创造了一种新的语法,为了简化JavaScript的编写。可以认为是一种用于产生JavaScript的脚本。一般来说最终产生的代码比原生的JavaScript要短的,还有一些比较现代的语法糖,尤其是在ES6没有出来前,非常有效。

    为何要用CoffeeScript

    我没有真正使用过,但是看官网的例子,代码简洁清爽,很现代化,甚至没有大括号。完成相同的功能,普遍比原生的JavaScript要短,可以说是一种减少代码编写时间的工具,可以省下更多的时间喝咖啡。
    但是CoffeeScript的语法看起来跟原生的JavaScript是不兼容的,所以在做一些代码搬运并缝合的工作的时候,似乎没有那么方便,虽然好像官网提供了响应的工具做互相转换,但是毕竟还要转换,而且不一定能转得多准确。
    另外还有一个问题就是,毕竟是一个小众的非通用的语言,相应的工程化的工具链肯定是没有直接用原生的JavaScript那么丰富的。

    TypeScript

    TypeScript是另外一个思路,在完全兼容JavaScript的情况下,增加了静态类型检查,所以说TypeScriptJavaScript的超集,也就是js代码直接复制粘贴到ts代码里理论上也能正常用。

    为何要用TypeScript

    相信大部分刚把自己项目语言由原生JavaScript改成TypeScript的同学多多少少还是有些抱怨的,明明能跑的代码,要加那么多的类型定义,编辑器还使劲报错,代码逻辑还得改,仅仅为了紧跟潮流么?
    实际上,用TypeScript还是有一些“爽点”的。

    编辑器的提示相当方便
    因为原生的JavaScript是完全动态的,对象能成为各种你想让它成为的样子,而且是运行状态下面才能知道是什么样子,所以编写的时候编辑器根本没办法预测,也就做不到写Java代码那种TabTab的爽快感觉,用了TypeScript之后那种感觉又回来了。

    似乎能减少一部分错误
    还是因为原生的JavaScript过于自由了,对象里面随意增减属性,虽然用起来很方便,甚至还有一些骚操作,但是如果有一些错误的引用编写的时候是完全发现不了的,只有在特定情况运行的时候才发现,最后改起来可能更麻烦。使用TypeScript后,可以在代码编写阶段就避免这些低级错误,从而对自己写的代码更自信。


    所以现在基本上没有什么人用CoffeeScript了,毕竟仅仅是创造了一种新语法,并没有解决什么实际的问题,作用并不是很大,而TypeScript在前端项目工程化上的意义还是作用明显的,所以流行起来也不无道理。

  • 相关阅读:
    假期训练七(hdu-2845 dp,hdu-1846,2188 巴什博奕)
    假期训练六(poj-1753,递归+hdu-2844,多重背包)
    假期训练五(poj-1077bfs+康拓展开,hdu-2577dp)
    1-10假期训练(hdu-2059 简单dp)
    1-9-假期训练心得(dp+bfs)
    如何在IntelliJ Idea中同时启动不同端口的两个实例
    搭建Springboot监控中心报错A attempt was made to call the method reactor.retry.Retry.retryMax(I)Lreactor/ret)
    使用spring中遇到"java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor"问题
    mvc:annotation-driven的前缀 "mvc"未绑定
    使用Idea构建springmvc框架,出现no bean named 'cacheManager' is defined 错误
  • 原文地址:https://www.cnblogs.com/fwindpeak/p/14480276.html
Copyright © 2011-2022 走看看