diff --git a/src/babel/transformation/templates/for-of-loose.js b/src/babel/transformation/templates/for-of-loose.js index 14c0c7e437..9b463868ce 100644 --- a/src/babel/transformation/templates/for-of-loose.js +++ b/src/babel/transformation/templates/for-of-loose.js @@ -1,5 +1,5 @@ for (var LOOP_OBJECT = OBJECT, - IS_ARRAY = LOOP_OBJECT && LOOP_OBJECT.constructor === Array, + IS_ARRAY = Array.isArray(LOOP_OBJECT), INDEX = 0, LOOP_OBJECT = IS_ARRAY ? LOOP_OBJECT : LOOP_OBJECT[Symbol.iterator]();;) { var ID; diff --git a/src/babel/transformation/templates/helper-sliced-to-array-loose.js b/src/babel/transformation/templates/helper-sliced-to-array-loose.js index b6d8868843..274222b0c6 100644 --- a/src/babel/transformation/templates/helper-sliced-to-array-loose.js +++ b/src/babel/transformation/templates/helper-sliced-to-array-loose.js @@ -1,5 +1,5 @@ (function (arr, i) { - if (arr && arr.constructor === Array) { + if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { var _arr = []; diff --git a/src/babel/transformation/templates/helper-sliced-to-array.js b/src/babel/transformation/templates/helper-sliced-to-array.js index c35f18e903..1285e55662 100644 --- a/src/babel/transformation/templates/helper-sliced-to-array.js +++ b/src/babel/transformation/templates/helper-sliced-to-array.js @@ -1,10 +1,10 @@ (function (arr, i) { - if (arr && arr.constructor === Array) { + if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { // this is an expanded form of `for...of` that properly supports abrupt completions of // iterators etc. variable names have been minimised to reduce the size of this massive - // helper. sometimes spec compliancy is annoying :() + // helper. sometimes spec compliancy is annoying :( // // _n = _iteratorNormalCompletion // _d = _didIteratorError diff --git a/src/babel/transformation/templates/helper-to-array.js b/src/babel/transformation/templates/helper-to-array.js index 42b81bd483..c479b65446 100644 --- a/src/babel/transformation/templates/helper-to-array.js +++ b/src/babel/transformation/templates/helper-to-array.js @@ -1,3 +1,3 @@ (function (arr) { - return arr && arr.constructor === Array ? arr : Array.from(arr); + return Array.isArray(arr) ? arr : Array.from(arr); }); diff --git a/src/babel/transformation/templates/helper-to-consumable-array.js b/src/babel/transformation/templates/helper-to-consumable-array.js index 711657e96b..9e042dadf1 100644 --- a/src/babel/transformation/templates/helper-to-consumable-array.js +++ b/src/babel/transformation/templates/helper-to-consumable-array.js @@ -1,5 +1,5 @@ (function (arr) { - if (arr && arr.constructor === Array) { + if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else {