美文网首页
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黑魔法之静态类型检查

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