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
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
No to może w ten sposób z nazywanymi parametrami:

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

}

sayName({});
@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
@Yakooo: No nie, jak chcesz mieć funkcje przyjmującą 2 argumenty z czego chcesz przesłać drugi argument a pierwszego nie to tego nie zrobisz inaczej niż tak jak ci napisałem.

Możesz mieć funkcje przyjmującą jeden argument ale obiektowy czyli

function a(param: {paramA?: string, paramB?: string})

i przekazywać wtedy a({paramB: 'dupa'})

to co ty napisałeś to nie zadziała bo nie możesz używać 2 razy tej samej zmiennej w parametrach funkcji. Ale jeżeli chodziło