我认为以下代码是正确的,并且启用了转译器 ES6/Babel 选项,但出现以下错误。
"error"
"TypeError: nums.find is not a function
at qezoze.js:11:18
at qezoze.js:16:3
at https://static.jsbin.com/js/prod/runner-3.34.2.min.js:1:13603
at https://static.jsbin.com/js/prod/runner-3.34.2.min.js:1:10524"
这是我在 JS bin ( https://jsbin.com/qezoze/edit?js,console ) 中的代码
/*jshint esnext: true */
(function() {
'use strict';
let nums = [1,2,3,4,5];
let one = nums.find(num => num === 1);
console.log(one);
}());
最佳答案
JSBin 正在转译代码,但没有加载完全支持所需的垫片。如果我们检查正在运行的文档,我们可以看到这一点:
请注意,除了您的代码之外,没有 script
元素。虽然可以从窗口外添加到 Array.prototype
,但假设没有设置任何东西来延迟您的代码以让 JSBin 有机会这样做(并且考虑到 Array.prototype.find
显然实际上丢失了),显然它们只是不包括垫片。
It works在 Babel 的 REPL 上。
关于javascript - 为什么新的 ES6 find 方法在 JSBin 中无法识别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32113604/