Build environment: macOS 26.5.2
Moddable SDK version:
- Installed via jsvu, so there is no SDK source tree /
git describe.
- Engine reports:
XS 17.9.1, slot 32 bytes, ID 4 bytes
Target device: desktop (host xs)
Description
Map.prototype.get throws when the key argument is omitted. The same behavior occurs with Map.prototype.has, Map.prototype.delete, and Map.prototype.set.
An omitted argument supplies undefined, which is a valid Map key, so these methods should behave as if undefined were passed explicitly.
Steps to Reproduce
$ xst -e "Map.prototype.get.call(new Map());"
TypeError: no key (in Map.prototype.get)
Expected behavior
undefined is returned without an exception.
For comparison, V8 (15.3.27):
$ v8 -e "print(String(Map.prototype.get.call(new Map())))"
undefined
Other information
XS already produces the expected result when undefined is passed explicitly:
$ xst -e "print(String(Map.prototype.get.call(new Map(), undefined)))"
undefined
Build environment: macOS 26.5.2
Moddable SDK version:
git describe.XS 17.9.1, slot 32 bytes, ID 4 bytesTarget device: desktop (host
xs)Description
Map.prototype.getthrows when the key argument is omitted. The same behavior occurs withMap.prototype.has,Map.prototype.delete, andMap.prototype.set.An omitted argument supplies
undefined, which is a valid Map key, so these methods should behave as ifundefinedwere passed explicitly.Steps to Reproduce
$ xst -e "Map.prototype.get.call(new Map());" TypeError: no key (in Map.prototype.get)Expected behavior
undefinedis returned without an exception.For comparison, V8 (15.3.27):
$ v8 -e "print(String(Map.prototype.get.call(new Map())))" undefinedOther information
XS already produces the expected result when
undefinedis passed explicitly:$ xst -e "print(String(Map.prototype.get.call(new Map(), undefined)))" undefined