我已经找了isInteger
测试来验证表单字段值,包括带有技巧的SO,例如:
num === parseInt(num)
我找到了为此功能提供polyfill的页面https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger(它包含在EC6规范中):
Number.isInteger = Number.isInteger || function(value) {
return typeof value === "number" &&
isFinite(value) &&
Math.floor(value) === value;
};
这不仅是我在MDN上看到的第一个JS polyfill。
是否有任何社区支持的库包含并支持JS polyfill用于现代JS标准?
我在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代码产生负面影响)并且不确定这个项目本身是如何健康的(有很多提交者,但也有很多开放的bug)。 / p>
请注意我{5}前从https://en.wikipedia.org/wiki/Polyfill学到的polyfill
字。这就是为什么对于经验丰富的JS巫师来说,问题可能看起来很愚蠢。
答案 0 :(得分:-1)
本质上,Babel将您的es6代码转换为es5,以便旧版浏览器可以使用它。 Babel非常受欢迎,并且受到在Facebook工作的人的支持。
Babel还提供了一个polyfill https://babeljs.io/docs/usage/polyfill/,您可以通过执行npm install babel并在文件夹中找到polyfill来获得。