Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        4年前关闭。
                                                                                            
                
        
我一直在寻找isInteger测试来验证包括SO在内的表单字段值,包括技巧:

num === parseInt(num)


我发现页面https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger为此功能提供了polyfill(它包含在EC6规范中):

Number.isInteger = Number.isInteger || function(value) {
    return typeof value === "number" &&
       isFinite(value) &&
       Math.floor(value) === value;
};


这不仅是我在MDN上看到的第一个JS polyfill。

是否有任何社区支持的库,这些库包含并支持用于现代JS标准的JS polyfills?

我在es6.js项目中找到了webshim

bash# git clone https://github.com/aFarkas/webshim.git
bash# cd webshim

bash# grep -R isInteger
dev/shims/es6.js:761:  isInteger: function(value) {
dev/shims/es6.js:767:  return Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER;


但是我担心这个库过于复杂(可能会对已经使用过的jQuery / Bootstrap / etc代码产生负面影响),并且不确定该项目本身的运行状况如何(存在许多提交者,但也存在许多未解决的错误)。

请注意,我在5分钟前从https://en.wikipedia.org/wiki/Polyfill学到的polyfill单词。这就是为什么对于资深JS向导而言,问题可能显得愚蠢。

最佳答案

您听说过通天塔吗?如果您喜欢es6,那么您绝对应该去看看Babel。

本质上,Babel将您的es6代码转换为es5,以便旧浏览器可以使用它。 Babel非常受欢迎,并得到Facebook工作人员的支持。

Babel还提供了polyfill https://babeljs.io/docs/usage/polyfill/,您可以通过执行npm install babel并在文件夹中找到该polyfill来获得。

关于javascript - ECMAScript 2015(ES6)标准polyfills库是否适用于JavaScript? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33270016/

10-11 14:15