Wpis z mikrobloga

W typescripcie, pierwszy argument funkcji zawsze musi być uzupełniony?

Gdybym utworzył funkcje: sayHello(message: string, message2?:string) - to tutaj, drugi parametr jest opcjonalny.

W przypadku gdybym napisał: sayHello(message?: string, message2:string), to to w sumie i tak nie zadziała?
Jedyne co mogę, to wpisać jako pierwszy argument: ' ', jeśli nic nie chce? A jak zrobić undefinied na 1 parametrze, a drugi, żeby był argumentem obowiązkowym? #programowanie #typescript #javascript #angular
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Wydaje mi się że wystarczy że przypiszesz domyślną wartość do pierwszego parametru:
function name(parameter1=defaultValue1,...) {
// do something
}
  • Odpowiedz
W zasadzie troche bez sensu jest jesli jest tj. powiedział mi ai

Po prostu wpisuje w 1 parametrze = undefinied, a drugi normalnie.

@alllahuuuk: Jeśli chodzi o to Twoje, to wlasnie nie do konca to będzie działało bo:
Jak przypisze 1 parametr jako undefinied, a drugi jako zwykły string, a potem wywołam funkcje, chcąc wpisać wyłącznie wartość do drugiego parametru z myślą, że pierwszy ma undefinied, to i tak mi wysypie błąd, ze
  • Odpowiedz
No to może w ten sposób z nazywanymi parametrami:

function sayName(params: {firstName?: string; lastName?: string}) {
console.log(params?.firstName)

}
  • Odpowiedz
@lobo: no sęk w tym, że wystarczy po prostu napisać function a(b: string, b?; string);

Bo i tak przy wywołaniu funkcji musisz wpisać undefined
  • Odpowiedz