JavaZmienna skryptu: Deklaracja, przypisanie wartości z przykładem

⚡ Inteligentne podsumowanie

JavaZmienne skryptu przechowują wartości, takie jak nazwy i liczby, lub wynik wyrażenia. Deklaracja zmiennej za pomocą var, let lub const rezerwuje nazwany slot, który reszta skryptu może odczytać i zaktualizować.

  • 🔘 Deklaracja: Słowa kluczowe var, let lub const tworzą nazwę zanim jakakolwiek linia kodu ją odczyta lub zapisze.
  • Zadanie: Pojedynczy znak równości kopiuje wartość do zmiennej, albo w wierszu deklaracji, albo później.
  • Nazewnictwo: Nazwy zaczynają się od litery, znaku dolara lub podkreślenia, a wielkie i małe litery liczą się inaczej.
  • 🧪 Nowoczesne słowa kluczowe: const pasuje do wartości, które nigdy się nie zmieniają, let pasuje do wartości, które się zmieniają, a var zachowuje się głównie w starszych skryptach.
  • 🛠️. Zakres: let i const pozostają wewnątrz otaczających je nawiasów klamrowych, podczas gdy var obejmuje całą otaczającą funkcję.
  • 📌 Typowe usterki: Ponowne przypisanie stałej, zbyt wczesne odczytanie let lub pominięcie słowa kluczowego – każde z tych działań powoduje odrębny błąd.

Deklarowanie JavaZmienna skryptu i przypisanie jej wartości

Zmienne służą do przechowywania wartości (imię = „Jan”) lub wyrażeń (suma = x + y). Każda wartość, którą skrypt przechowuje na później — nazwa użytkownika, suma bieżąca, flaga „tak” lub „nie” — znajduje się w zmiennej, więc ich deklarowanie i nadawanie im właściwych nazw to pierwsza umiejętność, którą należy opanować. JAVASCRIPT.

Zadeklaruj zmienne w JavaScenariusz

Przed użyciem zmiennej należy ją najpierw zadeklarować. Aby zadeklarować zmienną, należy użyć słowa kluczowego var w następujący sposób:

var name;

Sama deklaracja tworzy nazwę i nic więcej. W tym momencie zmienna istnieje, ale ma specjalną wartość niezdefiniowaną, ponieważ nie została jeszcze do niej przypisana żadna wartość.

⚠️ Uwaga dotycząca wersji: var to oryginalne słowo kluczowe deklaracji, które nadal działa w każdej przeglądarce. Dodano w ES6 (2015) niech oraz const, które są słowami kluczowymi nowoczesny JavaSkrypt używa. Oba są porównywane z var dalej na tej stronie.

Przypisz wartość do zmiennej

Możesz przypisać wartość do zmiennej podczas deklarowania zmiennej lub po jej zadeklarowaniu.

var name = "John";

OR

var name;

name = "John";

Obie formy kończą się tym samym rezultatem. Pojedynczy znak równości to operator przypisania: kopiuje wartość po prawej stronie do zmiennej po lewej stronie. Nie jest to test równości, który jest zapisywany jako == lub === i należy do zmiennej po lewej stronie. Instrukcje warunkowe.

Nazewnictwo zmiennych

Chociaż możesz nadawać zmiennym dowolne nazwy, dobrą praktyką programistyczną jest nadawanie im opisowych i zrozumiałych nazw. Co więcej, nazwy zmiennych powinny zaczynać się od litery i rozróżniają wielkość liter. W związku z tym zmienne studentname i studentName różnią się, ponieważ litera n w nazwie jest inna (n i N).

Cztery zasady decydują o tym, czy dana nazwa jest w ogóle legalna:

  1. Pierwszym znakiem musi być litera, znak dolara lub podkreślenie — nigdy cyfra.
  2. Po pierwszym znaku dozwolone są litery, cyfry, znaki dolara i podkreślenia.
  3. Nie można używać spacji, dlatego też pomysł składający się z dwóch słów jest łączony jako studentName, a nie pozostawiany jako dwa słowa.
  4. Słów zarezerwowanych, takich jak var, let, const, class i return, nie można używać ponownie jako nazw.

Zgodnie z konwencją JavaNazwy skryptów korzystają ze standardu camelCase, więc pierwsze słowo zaczyna się małą literą, a każde kolejne zaczyna się wielką literą: firstName, totalPrice, isLoggedIn.

Poniższy skrypt deklaruje dwie zmienne, stosuje do nich pięć operatorów arytmetycznych i zapisuje każdy wynik na stronie. Spróbuj sam:

<html>
<head>
<title>Variables!!!</title>
<script type="text/javascript">
var one = 22;
var two = 3;
var add = one + two;
var minus = one - two;
var multiply = one * two;
var divide = one/two;
	document.write("First No: = " + one + "<br />Second No: = " + two + " <br />");
	document.write(one + " + " + two + " = " + add + "<br/>");
	document.write(one + " - " + two + " = " + minus + "<br/>");
	document.write(one + " * " + two + " = " + multiply + "<br/>");
	document.write(one + " / " + two + " = " + divide + "<br/>");
</script>
</head>
<body>
</body>
</html>

var vs let vs const w nowoczesnym JavaScenariusz

Tylko var istniał, kiedy JavaSkrypt został napisany po raz pierwszy i ma dwie cechy, które zaskakują początkujących: można go deklarować bezgłośnie i ignoruje granice bloków. Aby rozwiązać oba te problemy, dodano let i const. Poniższa tabela zestawia te trzy słowa kluczowe obok siebie.

Zachowanie było niech const
Zakres Cała funkcja Blok otaczający Blok otaczający
Można ponownie przypisać Tak Tak Nie
Można ponownie zadeklarować w tym samym zakresie Tak Nie Nie
Wartość wymagana w wierszu deklaracji Nie Nie Tak
Przeczytaj przed deklaracją Zwraca wartość niezdefiniowaną Błąd odniesienia Błąd odniesienia

Prosty nawyk sprawdza się niemal w każdym przypadku: sięgnij po const najpierw przełącz się na niech moment, w którym wartość musi zostać rzeczywiście zmieniona, np. licznik wewnątrz jednego z JavaPętle skryptui zachowaj var do odczytu starego kodu, zamiast pisania nowego.

Zakres zmienny i podnoszenie w JavaScenariusz

Zakres decyduje, które części skryptu mogą widzieć zmienną. Deklaracja var należy do funkcji, która ją zawiera, więc pomija każdy blok if lub for wewnątrz tej funkcji. Deklaracja let lub const należy do pary nawiasów klamrowych, w których się znajduje, i znika poza nimi.

function demo() {
  if (true) {
    var wide = "visible throughout demo()";
    let narrow = "visible only inside these braces";
  }
  console.log(wide);
  console.log(narrow);
}

Pierwszy plik console.log drukuje swój ciąg. Drugi zgłasza błąd ReferenceError, ponieważ po zakończeniu bloku if zmienna narrow przestaje istnieć.

Podnoszenie jest drugą połową opowieści. JavaSkrypt rejestruje każdą deklarację w zakresie, zanim wykona choćby jedną linię w tym zakresie. Nazwa zmiennej jest rejestrowana i ustawiana na niezdefiniowaną, więc jej wczesny odczyt jest dozwolony, ale bezużyteczny. Nazwa let lub const jest rejestrowana bez wartości, a przerwa między początkiem bloku a linią deklaracji nazywana jest czasowa martwa strefa.

console.log(a);
var a = 1;

console.log(b);
let b = 2;

Pierwszy wiersz wyświetla undefined. Trzeci wiersz kończy się komunikatem „Cannot access 'b' before initialization” — błąd, który sprawia, że ​​let jest bezpieczniejszy niż var, ponieważ wskazuje na prawdziwy błąd, zamiast go ukrywać.

Typowe błędy przy deklarowaniu JavaZmienne skryptu

Pięć komunikatów odpowiada za większość komunikatów konsoli, które początkujący widzą podczas nauki zmiennych. Każdy z nich wskazuje konkretną przyczynę, więc rozwiązanie zazwyczaj mieści się w jednym wierszu.

Komunikat konsoli Spowodować Fix
Błąd składni: Identyfikator „x” został już zadeklarowany let lub const użyte dwukrotnie dla tej samej nazwy w jednym bloku Ponownie użyj istniejącej zmiennej lub zmień nazwę drugiej
TypeError: Przypisanie do zmiennej stałej Stałej nadano nową wartość Zadeklaruj to za pomocą let, jeśli wartość musi zostać zmieniona
ReferenceError: Nie można uzyskać dostępu do „x” przed inicjalizacją Odczytano let lub const w strefie martwej czasowo Przenieś odczyt poniżej linii deklaracji
Błąd odniesienia: x nie jest zdefiniowane Nazwa ta nigdy nie została podana lub została błędnie napisana Złóż oświadczenie lub popraw pisownię i wielkość liter
undefined pojawia się tam, gdzie oczekiwano wartości Zmienna została zadeklarowana, ale nigdy nie przypisana Przypisz wartość przed pierwszym odczytem

Dodanie „use strict” na początku pliku powoduje, że cicha wersja czwartego przypadku – przypisanie do nazwy, która nigdy nie została zadeklarowana – staje się widocznym błędem, dlatego należy go stosować w każdym nowym skrypcie. Te same reguły zmiennych są przenoszone bez zmian do tablice, obiektyi kod po stronie serwera napisany dla node.js.

FAQ

Ktokolwiek z nich. JavaSkrypt jest dynamicznie typowany, więc jedna zmienna może zawierać liczbę, potem ciąg znaków, a następnie obiekt. Deklaracja rezerwuje nazwę, a nie typ. Użyj typeof, aby sprawdzić, co zmienna zawiera w dowolnym momencie.

JavaSkrypt tworzy niejawną zmienną globalną, którą inny kod może przypadkowo nadpisać. Dodanie „use strict” na początku pliku powoduje, że ten sam wiersz staje się błędem ReferenceError, więc błąd pojawia się natychmiast, zamiast rozprzestrzeniać się po cichu.

undefined oznacza, że ​​zmienna została zadeklarowana, ale nigdy nie otrzymała wartości. null to wartość celowo przypisywana, aby oznaczać „nic tutaj”. Oba są fałszywe, ale typeof undefined zwraca „undefined”, a typeof null zwraca „object”.

Operator plus łączy tekst, gdy po jednej ze stron znajduje się ciąg znaków, więc 22 + „3” daje „223”. Najpierw przekonwertuj za pomocą Number() lub parseInt(), gdy zamierzona jest arytmetyka.traccja nie ma znaczenia tekstowego, więc „3” − 1 poprawnie zwraca 2.

Tak. const blokuje powiązanie, a nie wartość, więc właściwości obiektu const i elementy tablicy const nadal mogą się zmieniać. Ponowne przypisanie samej zmiennej powoduje błąd TypeError. Użyj Object.freeze(), gdy zawartość musi pozostać stała.

Asystenci AI wbudowani w nowoczesne edytory podpowiadają słowo kluczowe i opisową nazwę z kontekstu, oznaczają zmienną, która powinna być const, i zmieniają nazwę każdego użycia w jednym kroku. Traktuj każdą sugestię jako wersję roboczą i upewnij się, że zakres jest poprawny.

Często tak. Drugi pilot odczytuje pobliski kod i proponuje nazwy pasujące do otaczającego stylu, co pomaga zastąpić symbole zastępcze, takie jak x lub temp. Revsprawdź każdą nazwę, ponieważ nawet płynna sugestia może opisywać coś niewłaściwego.

Funkcja console.log() wyświetla bieżącą wartość w konsoli przeglądarki. Aby uzyskać dokładniejszy podgląd, ustaw punkt przerwania w panelu Źródła w Narzędziach Deweloperskich i najedź kursorem na nazwę lub dodaj go do listy obserwowanych, aby odczytać wartość w tym konkretnym wierszu.

Podsumuj ten post następująco: