Я видел много идиом, большинство из которых были умны и логичны, когда-то объяснялись. Но пока я просматривал SO javascript, чтобы получить некоторые идеи о хорошем дизайне интерфейса, я увидел следующую строку:
initTagRenderer("".split(" "), "".split(" "));
Что действительно бросило меня за цикл. Очевидно, что они инициализируют средство визуализации тегов двумя массивами, содержащими ровно один аргумент с нулевой строкой (или [""]
, который оценивается "".split(" ")
). Эта часть я понимаю (проделав то же самое в своем собственном коде). Но похоже, что передача литерала выполнила бы то же самое.
Есть ли какая-то неочевидная причина для этого, которую я не вижу в качестве новичка (для js, а не для программирования)?
Кроме того, я попытался выполнить поиск и получил много информации о самом split() (что я уже хорошо понимаю), но не идиома; Googling для двойных кавычек довольно бесплоден.
Изменить: Это был очевидный ответ. Эта часть кода динамически генерируется и обычно не заполняется надлежащим SO.