Menos correcto puesto que obtendríamos un error en tiempo de ejecución si por ejemplo no existiera el elemento con ese nombre.
const handleSubmit = (event: FormEvent<HTMLFormElement>) => {
event.preventDefault()
const { elements } = event.currentTarget
const input = elements.namedItem('name-input') as HTMLInputElement
}
Mucho más correcto con un mínimo coste de proceso.
Tener en cuenta lo que devuelve namedItem:
(method) HTMLFormControlsCollection.namedItem(name: string): Element | RadioNodeList | null
const handleSubmit = (event: FormEvent<HTMLFormElement>) => {
event.preventDefault()
const { elements } = event.currentTarget
const input = elements.namedItem('name-input')
const isInput = input instanceof HTMLInputElement
if (!isInput || input === null) return
}