typescript - "Variabel 'X' kan gjøres konstant", hva betyr 'konstant'?


VStudio eller ReSharper gir meg forslaget nedenfor:

Hva betyr konstant i denne situasjonen? Hvis det er en konstant i den nåværende metodeomfanget, hva er hensikten? Metoder pleier å være små, og derfor burde det ikke gi noen fordel sammenlignet med å være en vanlig variabel?

Vennligst opplys meg

Svar #1

Det er ikke noe komplisert.

Det er vanligvis bedre å bruke const fremfor let (og definitivt var), siden const gjør det lettere å forstå kode, fordi du bare trenger å se på den første tildelingen for å vite hva innholdet i variabelen er. Bruk det så mye som mulig.

Det bør bemerkes at selv om konstanter ikke kan tildeles på nytt, kan innholdet deres i noen tilfeller endres, for eksempel når man arbeider med et array eller et objekt. For eksempel er const x=[1]; x[0]=2; helt gyldig kode, men dette bør betraktes som et anti-mønster, fordi man ville forvente at en konstant forblir konstant, og dermed bryter prinsippet om minst mulig forbauselse.

Du kan selvfølgelig oppdatere et array med en const ved å ganske enkelt lage en kopi av arrayet og tildele det til en ny const:

const x = [1];
const x2 = [...x, 2];

Dette har faktisk ytelseshensyn som du kanskje må vurdere når du har med ekstremt store matriser å gjøre.

Nøkkelordene const og let er en del av ECMAScript 2015-standarden. Så når du bruker const eller let og transpilere ned til eldre ECMAScript-mål, blir const og let transpilerte til det gamle var. I dag støtter alle nettlesere const, og det er ingen reelle ytelsesbetraktninger for å bruke den ene eller den andre.

Relaterte artikler