Wiem, ze mozemy zebrac argumenty w obiekt i przekazac go do konstruktora i pozniej przypisac wszystko na zasadzie this.name = properties.name
dzieki czemu nie musimy przejmowac sie kolejnoscia argumentow, ale co jezeli dana wartosc nie zostanie podana? Na stackoverflow znalazlem cos takiego:
function foo(a, b) {
if (b===undefined) // parameter was omitted in call
b= 'some default value';
if (typeof(a)==='string')
this._constructInSomeWay(a, b);
else if (a instanceof MyType)
this._constructInSomeOtherWay(a, b);
}
To jest bardziej sposob do wywolania roznych konstruktorow (cos jak w Javie?), ale bardziej chodzi mi o 2 pierwsze linijki. Czy nie lepiej zrobic np. tak:
function Coffee(properties) {
this.roast = properties.roast === undefined ? 'default' : roast;
}
Pytanie bonusowe: Co oznacza _
lub &
? W roznych miejscach pisza rozne rzeczy, nawet spotkalem sie z twierdzeniem ze &
ludzie daja przed zmiennymi przechowujacymi rzeczy pobrane za pomoca jQuery.