• 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在前端项目工程化上的意义还是作用明显的,所以流行起来也不无道理。

  • 相关阅读:
    redis.conf 配置信息:读取及修改命令
    Redis 持久化
    webpack 中,module、chunk、bundle 的区别(待补充)
    对象属性的描述:writable、enumerable、configurable
    webpack 中,importloaders 配置项的含义
    vue cli 3 中,Lint on save 与 Lint and fix on commit 区别(待补充)
    使用 vue-cli-service inspect 来查看一个 Vue CLI 3 项目的 webpack 配置信息(包括:development、production)
    Eslint 能自动格式化代码,为什么还要用 Prettier?
    prettier-eslint 与 prettier-eslint-cli 区别
    032_nginx配置文件安全下载
  • 原文地址:https://www.cnblogs.com/fwindpeak/p/14480276.html
Copyright © 2020-2023  润新知