Zrozumienie zmiennych w programowaniu
Co to jest zmienna?
Zmienne są istotnymi elementami programowania, ponieważ służą do przechowywania informacji, do których można się odwoływać i którymi można manipulować w programie komputerowym. Umożliwiają oznaczanie danych opisową nazwą, dzięki czemu programy są bardziej zrozumiałe dla czytelnika i dla nas samych. Pomyśl o zmiennych jak o pojemnikach przechowujących informacje. Ich jedynym celem jest oznaczanie i przechowywanie danych w pamięci, które można następnie wykorzystać w całym programie.
Przypisywanie wartości do zmiennych
Nazywanie zmiennych może być wyzwaniem; wymyślenie jasnych i zwięzłych nazw zmiennych może być trudne. Jednak przy nazewnictwie zmiennych ważne jest, aby nadać priorytet opisowości i zrozumiałości. Pamiętaj, że inni, łącznie z Tobą w przyszłości, będą musieli przeczytać i zrozumieć kod. Używanie nazw, które dokładnie odzwierciedlają cel zmiennej, sprawi, że Twój kod będzie łatwiejszy do odczytania i utrzymania. W programowaniu wartości do zmiennych przypisuje się za pomocą symbolu =
, z nazwą zmiennej po lewej stronie i wartością po prawej stronie.
Na przykład:
let firstName = 'Joe';
console.log(firstName);
// Output: Joe
Tutaj ciąg znaków „Joe” jest przypisany do zmiennej „firstName”.
Uwaga: Nie należy mylić operatora przypisania =
z operatorem równości ==
. Operator =
przypisuje wartość, natomiast ==
sprawdza, czy dwie wartości są równe.
Pobieranie danych od użytkownika
Aby umożliwić interakcję użytkownika, możesz użyć metod przechwytywania danych wejściowych użytkownika. W JavaScript można to zrobić za pomocą pakietu prompt
.
Na przykład:
const prompt = require('prompt');
prompt.start();
let { name } = await prompt.get(["name"]);
console.log(name);
// Input: Bob
// Output: Bob
Funkcja prompt
przechwytuje dane wejściowe od użytkownika i zapisuje je w zmiennej name
.
Zakres zmiennej
Zasięg zmiennej określa, gdzie jest ona dostępna w programie. Zasięg jest definiowany przez miejsce inicjowania zmiennej.
Zakres zmiennej w funkcjach
W funkcjach zmienne zainicjowane w ramach funkcji są dostępne tylko wewnątrz tej funkcji.
Na przykład:
let name = 'Somebody Else';
function printFullName(firstName, lastName) {
let name = firstName + ' ' + lastName;
console.log(name);
}
printFullName('Peter', 'Henry'); // prints Peter Henry
printFullName('Lynn', 'Blake'); // prints Lynn Blake
console.log(name); // prints Somebody Else
W tym przypadku zmienna name
wewnątrz funkcji printFullName
jest oddzielona od zmiennej name
znajdującej się poza nią.
Zmienny zakres i bloki
Blok to fragment kodu następujący po instrukcji sterującej, takiej jak „if”, „for” lub „while”, i jest oddzielony nawiasami klamrowymi „{}”.
Na przykład:
let total = 0;
\[1, 2, 3].forEach(function(number) {
total += number;
});
console.log(total); // Output: 6
total = 0;
for (let i = 0; i < 3; i++) {
total += (i + 1);
}
console.log(total); // Output: 6
W obu przypadkach blok może uzyskać dostęp do zmiennej „total” zdefiniowanej poza blokiem i ją modyfikować. Jednakże do zmiennych zainicjowanych wewnątrz bloku (takich jak „i” i „liczba”) nie można uzyskać dostępu poza blokiem.
Typy zmiennych
W JavaScript istnieją trzy typy zmiennych: var
, let
i const
.
- var: Deklaruje zmienną, opcjonalnie inicjując ją wartością. var
ma zakres funkcji, co oznacza, że jest dostępny w całej funkcji, w której jest zadeklarowany.
var varVariable = 'I am a var variable';
- let: Deklaruje zmienną lokalną o zasięgu blokowym, opcjonalnie inicjując ją wartością. let
jest lepsze niż var
ze względu na jego zakres blokowy.
let letVariable = 'I am a let variable';
- const: Deklaruje stałą o zasięgu blokowym i nazwaną tylko do odczytu. Wartości zmiennej „const” nie można zmienić poprzez ponowne przypisanie.
const constVariable = 'I am a const variable';
Przykład zakresu zmiennej
let a = 5; // variable is initialized in the outer scope
for (let i = 0; i < 3; i++) {
// block scope with a for loop
a = 3; // a is accessible here, in an inner scope
let b = 5; // b is initialized in the inner scope
}
console.log(a); // Output: 3
console.log(b); // ReferenceError: b is not defined
W tym przykładzie zmienna „a” jest dostępna wewnątrz i na zewnątrz bloku, podczas gdy „b” jest dostępne tylko w obrębie bloku.
Zrozumienie zmiennych, zakresu i typów ma fundamentalne znaczenie dla pisania przejrzystych i skutecznych programów. Ostrożnie nazywając i używając zmiennych, możesz stworzyć kod, który jest zarówno funkcjonalny, jak i łatwy do zrozumienia.