美文网首页我爱编程
JavaScript 静态类型检查方案

JavaScript 静态类型检查方案

作者: 安望云海 | 来源:发表于2018-02-22 20:55 被阅读0次

TypeScipt 中的类型检查是 Javascipt 所缺少的,当考虑到项目的可靠性时,这个特性是必不可少的,目前的可实行方案有 TypeScipt 和 Flow 可供选择,下面和 ES6 做下比较和分析

方案比较

方案 简介 生态支持 学习成本 迁移成本 使用收益
ES6 是一门弱类型,面向对象(基于原型)的高级编程语言 目前部分 ES6 特性在现代浏览器得到支持,通过 Babel 转译为 ES5 可使用大部分特性 成本较低 目前项目已配置 ES6 编译环境,成本基本为零 语法相比之前的版本更加简洁和高效
TypeScript TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个严格超集,并添加了可选的静态类型和基于类的面向对象编程 TypeScript 是微软的一个开源项目,目前最新版本 2.3,GitHub Star 数达到 22761,工具链上与 Gulp, Webpack 都有很好地支持,全平台 Typescript 的学习成本比较高,他包含了泛型、接口等很多 java、C# 的概念 由于 TypeScript 是一整套的方案,所以老项目迁移困难,新项目则成本较低 因为 TS 提供了很多强类型语言的功能,所以可以使得代码更健壮,编译后的代码也是针对 V8 等 js 引擎优化过的,所以执行效率也不会太慢,通过编辑器的支持,可使开发调试更有效率
Flow 由 FaceBook 开发的一套 JavaScript 类型检查工具 Flow 是FaceBook 的一个开源项目,目前最新版本 0.47.0 ,GitHub Star 数达到 12122,工具链上与 Gulp, Webpack 都有很好地支持, 全平台 Flow 的学习成本相比较 TypeScript 较低 Flow 的可配置性和灵活度较高,可选择单个文件或整个项目的类型检查处理,并且基于和 Babel 搭配使用,所以项目迁移成本较低 同 TypeScipt

结论

对于当前项目,从平缓迁移的角度看,Flow 更符合当前的需求。而 Typescript 更适合于新项目或者大型的应用项目,可在团队内部项目试用,进行踩坑沉淀,待整个生态摸索的较为成熟再逐步应用到业务并在团队推广,并同时统一团队编码风格,提高团队协作效率。

相关文章

  • JavaScript 静态类型检查方案

    TypeScipt 中的类型检查是 Javascipt 所缺少的,当考虑到项目的可靠性时,这个特性是必不可少的,目...

  • Flow入门初识

    Flow是facebook出品的JavaScript静态类型检查工具。由于JavaScript是动态类型语言,它的...

  • js语言进阶 - Flow

    flow静态类型检查工具,给javaScript提供静态类型检查能力,为其增加了一个编译的过程 开始 安装babe...

  • vue源码笔记

    一. Flow JavaScript 静态类型检查工具 两种工作方式: 类型推断 ;类型注释(类似ts) var ...

  • TypeScript

    typescript 定义 type类型+ES6 javascript 的超级包含ES6 静态类型语言类型检查,接...

  • Flow静态类型检查方案

    Flow定义 Flow[https://flow.org/en/docs/usage/]是JavaScript的类...

  • TypeScript

    定义 type类型+ES6 javascript的超级 包含ES6 静态类型语言 类型检查,接口,oop非常完善 ...

  • flow

    flow 是 Facebook 出品的 JavaScript 静态类型检查工具。 vue 的源码利用了 flow ...

  • TypeScript

    ☞点击进入官网 定义 type类型+ES6 javascript的超级 包含ES6 静态类型语言 类型检查,接口,...

  • 01|JavaScript是一种动态的弱类型语言

    一、JavaScript与C++对比 javascript C++ 二、静态类型和动态类型对比 静态类型语言动态语...

网友评论

    本文标题:JavaScript 静态类型检查方案

    本文链接:https://www.haomeiwen.com/subject/gpnztftx.html