美文网首页
JavaScript黑魔法之静态类型检查

JavaScript黑魔法之静态类型检查

作者: 三生石上绛珠草 | 来源:发表于2017-03-15 20:53 被阅读40次

本文属于读别人代码的心得,本人没有任何原创之处。
js虽是一门动态类型语言,然而轻易即可实现实现静态类型检查

function __BuildStrongTypedFunction(returnType, argumentTypes, func) {    
        return function () {        
                if (argumentTypes.length !== arguments.length) {            
                        throw new Error("The number of arguments does not match.");       
                }        
                for (var i = 0; i < argumentTypes.length; i++) {
                        argumentTypes[i].RequireType(arguments[i]);        
                }
                var returnValue = func.apply(this, arguments);
                returnType.RequireType(returnValue);
                return returnValue;    
        }
}

以下是类型部分的定义

屏幕快照 2016-12-17 22.34.27.png 屏幕快照 2016-12-17 22.35.42.png

相关文章

  • JavaScript黑魔法之静态类型检查

    本文属于读别人代码的心得,本人没有任何原创之处。js虽是一门动态类型语言,然而轻易即可实现实现静态类型检查 以下是...

  • Flow入门初识

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

  • js语言进阶 - Flow

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

  • JavaScript 静态类型检查方案

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

  • vue源码笔记

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

  • TypeScript

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

  • 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/etdamttx.html