Array.from()的另一个应用是,将字符串转为数组,然后返回字符串的长度。 因为它能正确处理各种Unicode字符,可以避免JavaScript将大于\uFFFF的Unicode字符, 算作两个字符的bug。
function countSymbols(string) { return Array.from(string).length; }
利用参数默认值,可以指定某一个参数不得省略,如果省略就抛出一个错误。
function throwIfMissing() { throw new Error('Missing parameter'); }
function foo(mustBeProvided = throwIfMissing()) { return mustBeProvided; }
蹦床函数(trampoline)可以将递归执行转为循环执行。
function trampoline(f) { while (f && f instanceof Function) { f = f(); } return f; }