Podkreślnik zamiast nazwy argumentu funkcji

0

Zakładając, że mamy taką funkcje:

const funkcja = (_, lastName) => {
console.log(lastName)
}

Czy ten podkreślnik _ ma jakąs swoją nazwe w jsie? Czy stosowanie jego jest dobrą praktyką? Jakbyśmy zamiast _ dodali argument o nazwie name i później z niego nie skorzystali w ciele funkcji to byśmy otrzymali warning, że dany argument nie jest nigdzie wykorzystywany. W przypadku _ tego unikamy. Czemu wtedy nie dostajemy warningu, że argument o nazwie _ nie jest nigdzie wykorzystywany?

1

podkreślnik nie ma żadnego specjalnego znaczenia w JS. Tj. w niektórych językach (np. w Rust) _ służy jako wildcard (coś, co niby jest, ale nie wiadomo co i nigdy tego nie użyjemy). Gdyby JS tak działał, to można by robić coś w stylu:

const funkcja = (_, _, _, foo) => {

}

Czyli niby 4 argumentowa funkcja, jednak nie używamy 3 pierwszych argumentów, dopiero czwarty nas interesuje.
Jednak w JS byłby to błąd (duplikacja nazwy argumentu, bo dla JS _ to po prostu zwykła nazwa zmiennej), więc w takiej sytuacji musielibyśmy jednak nazwać inaczej każdy argument np.

const funkcja = (a, b, c, foo) => {

}

to byśmy otrzymali warning, że dany argument nie jest nigdzie wykorzystywany. W przypadku _ tego unikamy. Czemu wtedy nie dostajemy warningu, że argument o nazwie _ nie jest nigdzie wykorzystywany?

Jakie warningi masz na myśli? Eslint czy inny linter? TypeScript? Bo sam JS nie da ci warningu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1