具有空值或未定义值的JavaScript字符串串联行为
如您所知,在JavaScript'' + null = "null"和'' + undefined = "undefined"(我可以在大多数浏览器中测试:Firefox,Chrome和IE)中。我想知道这种奇怪现象的根源(Brendan Eich头上到底是什么东西?!),以及是否有在未来版本的ECMA中改变它的目的。'sthg' + (var || '')将字符串与变量连接起来并使用诸如Underscore之类的第三方框架或使用锤子敲打果冻钉子确实使我感到非常沮丧。 编辑: 为了满足StackOverflow所要求的标准并阐明我的问题,这是一个三方面的问题: 导致JS转换null或串联时转换undefined为字符串值的奇数背后的历史是什么String? 在将来的ECMAScript版本中是否有可能对此行为进行更改? 什么是连接最漂亮的方式String与潜在null或undefined对象不落入这个问题(得到一些"undefined"的"null"在字符串的中间)?用最漂亮的主观标准,我的意思是:简短,干净和有效。不必说那'' + (obj ? obj : '')不是很漂亮……