- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Mon, 11 Nov 2013 09:37:05 -0800
- To: Allen Wirfs-Brock <allen@wirfs-brock.com>
- Cc: "Mark S. Miller" <erights@google.com>, Corey Frang <gnarf37@gmail.com>, "public-script-coord@w3.org" <public-script-coord@w3.org>, "es-discuss@mozilla.org list" <es-discuss@mozilla.org>
On Mon, Nov 11, 2013 at 9:21 AM, Allen Wirfs-Brock <allen@wirfs-brock.com> wrote: > On Nov 11, 2013, at 6:10 AM, Mark S. Miller wrote: >> On Sun, Nov 10, 2013 at 11:33 PM, Corey Frang <gnarf37@gmail.com> wrote: >>> Just to provide another way of working around it: >>> >>> var empty = {}; // or even a symbol? >>> >>> function splice(start = empty, count = 0, ...items) { >>> if (start === empty) { ... >>> } >> >> That is excellent! Has all the upsides of the best of the other proposals >> and none of the downsides. > > No, this doesn't work because then both > [1,2,3].splice() > [1.2.3].splice(undefined) > > will both result in start === empty. But for web compatibility they must be > treated differently. Right. The one and only way to test for missing args different from undefined is to use a rest arg and test length, as demonstrated earlier in this thread. ~TJ
Received on Monday, 11 November 2013 17:37:52 UTC