This page provides an up-to-date report on which JavaScript features are supported in server-side SuiteScript.
Tests are executed daily.
Last Checked: | 2025-05-16T07:02:09.175Z |
---|---|
NetSuite Version: | 2025.1 |
ECMAScript Version: | ES2023 |
Number of Tests: | 84 |
Test Results
Filter:
Documentation | Feature | Supported | Error | ECMAScript Version |
---|---|---|---|---|
View | Map | true | ES6 (2015) | |
View | Set | true | ES6 (2015) | |
View | String.prototype.endsWith() | true | ES6 (2015) | |
View | String.prototype.includes() | true | ES6 (2015) | |
View | String.prototype.startsWith() | true | ES6 (2015) | |
View | Array.prototype.includes() | true | ES2016 | |
View | Object.entries() | true | ES2017 | |
View | Object.getOwnPropertyDescriptors() | true | ES2017 | |
View | Object.values() | true | ES2017 | |
View | String.prototype.padEnd() | true | ES2017 | |
View | String.prototype.padStart() | true | ES2017 | |
View | Intl.PluralRules | true | ES2018 | |
View | RegExp lookbehind assertion: (?<=...), (?<!...) | true | ES2018 | |
View | RegExp named capturing group: (?<name>...) | true | ES2018 | |
View | RegExp unicode character class escape: \p{...}, \P{...} | true | ES2018 | |
View | RegExp.prototype.dotAll: /s flag | true | ES2018 | |
View | Spread and Rest syntax: ... | true | ES2018 | |
View | Array.prototype.flat() | true | ES2019 | |
View | Array.prototype.flatMap() | true | ES2019 | |
View | Function.prototype.toString() | true | ES2019 | |
View | Object.fromEntries() | true | ES2019 | |
View | String.prototype.trimEnd() | true | ES2019 | |
View | String.prototype.trimStart() | true | ES2019 | |
View | BigInt | true | ES2020 | |
View | Intl.Locale | true | ES2020 | |
View | Intl.RelativeTimeFormat | true | ES2020 | |
View | Nullish coalescing operator: ?? | true | ES2020 | |
View | Optional chaining: ?. | true | ES2020 | |
View | Promise.allSettled() | true | ES2020 | |
View | String.prototype.matchAll() | true | ES2020 | |
View | Intl.DisplayNames | true | ES2021 | |
View | Intl.ListFormat | true | ES2021 | |
View | Logical AMD assignment: &&= | true | ES2021 | |
View | Logical OR assignment: ||= | true | ES2021 | |
View | Nullish coalescing assignment: ??= | true | ES2021 | |
View | Numeric separators: 1_000_000 | true | ES2021 | |
View | Promise.any() | true | ES2021 | |
View | String.prototype.replaceAll() | true | ES2021 | |
View | structuredClone() | false | structuredClone is not defined | ES2021 |
View | WeakRef | true | ES2021 | |
View | Array.prototype.at() | true | ES2022 | |
View | Class static keyword | true | ES2022 | |
View | Intl.Segmenter | true | ES2022 | |
View | Object.hasOwn() | true | ES2022 | |
View | Private properties: #property | true | ES2022 | |
View | RegExp.prototype.hasIndices: /d flag | true | ES2022 | |
View | String.prototype.at() | true | ES2022 | |
View | Array.prototype.findLast() | true | ES2023 | |
View | Array.prototype.findLastIndex() | true | ES2023 | |
View | Array.prototype.toReversed() | true | ES2023 | |
View | Array.prototype.toSorted() | true | ES2023 | |
View | Array.prototype.toSpliced() | true | ES2023 | |
View | Array.prototype.with() | true | ES2023 | |
View | ArrayBuffer.prototype.resizable | false | resizable is not a boolean | ES2024 |
View | ArrayBuffer.prototype.resize() | false | resize is not a function | ES2024 |
View | ArrayBuffer.prototype.transfer | false | transfer is not a function | ES2024 |
View | Map.groupBy() | false | Map.groupBy is not a function | ES2024 |
View | Object.groupBy() | false | Object.groupBy is not a function | ES2024 |
View | Promise.withResolvers() | false | Promise.withResolvers is not a function | ES2024 |
View | RegExp.prototype.unicodeSets: /v flag | false | Invalid regular expression flags | ES2024 |
View | String.prototype.isWellFormed() | false | String.prototype.isWellFormed is not a function | ES2024 |
View | String.prototype.toWellFormed() | false | String.prototype.toWellFormed is not a function | ES2024 |
View | Intl.DurationFormat | false | Intl.DurationFormat is not a constructor | ES2025 |
View | Iterator.prototype.drop() | false | iterator(…).drop is not a function | ES2025 |
View | Iterator.prototype.every() | false | iterator(…).every is not a function | ES2025 |
View | Iterator.prototype.filter() | false | iterator(…).filter is not a function | ES2025 |
View | Iterator.prototype.find() | false | iterator(…).find is not a function | ES2025 |
View | Iterator.prototype.flatMap() | false | iterator(…).flatMap is not a function | ES2025 |
View | Iterator.prototype.forEach() | false | iterator(…).forEach is not a function | ES2025 |
View | Iterator.prototype.map() | false | iterator(…).map is not a function | ES2025 |
View | Iterator.prototype.reduce() | false | iterator(…).reduce is not a function | ES2025 |
View | Iterator.prototype.some() | false | iterator(…).some is not a function | ES2025 |
View | Iterator.prototype.take() | false | iterator(…).take is not a function | ES2025 |
View | Iterator.prototype.toArray() | false | iterator(…).toArray is not a function | ES2025 |
View | Promise.try() | false | Promise.try is not a function | ES2025 |
View | RegExp.escape | false | escape is not a function | ES2025 |
View | Set.prototype.difference() | false | Set.difference is not a function | ES2025 |
View | Set.prototype.intersection() | false | Set.intersection is not a function | ES2025 |
View | Set.prototype.isDisjointFrom() | false | Set.isDisjointFrom is not a function | ES2025 |
View | Set.prototype.isSubsetOf() | false | Set.isSubsetOf is not a function | ES2025 |
View | Set.prototype.isSupersetOf() | false | Set.isSupersetOf is not a function | ES2025 |
View | Set.prototype.symmetricDifference() | false | Set.symmetricDifference is not a function | ES2025 |
View | Set.prototype.union() | false | Set.union is not a function | ES2025 |
View | Temporal | false | Temporal is not defined | ES2026 |
Feature Request
Submit a request for a new feature in the list.