float, если твой вопрос ограничивается только работой с параметрами функции и некоего общего подхода...
Мы у себя используем следующий вариант.
Если параметр ключевой и необходим - пусть таки генерится ошибка исполнения... Т.о. разработчик раньше увидит свои проблемы...
Если параметр не особо важен или возможна работа с неким умолчанием - делаем аналог конструкции. Т.о. использование будет более удобным в частом использовании...
function a(node,type) {
type=type || true;
}