Многие сталкивались с необходимостью использовать необязательные аргументы функции. Если такой аргумент один, да ещё и последний, то особых проблем не возникает.
function set(name, value){
if(value == undefined){
value = name;
}
...
}