Samouczek JS

JS DOM Wprowadzenie do JS JS Dokąd Wyjście JS Oświadczenia JS Składnia JS Komentarze JS Zmienne JS JS Let JS Const Operatorzy JS Arytmetyka JS Zadanie JS Typy danych JS Funkcje JS Obiekty JS Wydarzenia JS JS Strings Metody ciągów JS Wyszukiwanie ciągów JS Szablony JS String Numery JS Metody liczbowe JS Tablice JS Metody macierzowe JS Sortowanie tablic JS Iteracja tablicy JS JS Array Const JS Daty Formaty daty JS JS Data Pobierz metody Metody ustawiania daty JS Matematyka JS JS losowo JS Booleans Porównania JS Warunki JS Przełącznik JS Pętla JS dla Pętla JS dla In Pętla JS dla Of Pętla JS, podczas gdy Przerwa JS Iterable JS Zestawy JS Mapy JS Typ JS Konwersja typu JS JS Bitwise JS RegExp Błędy JS Zakres JS JS Podnoszenie Tryb ścisły JS JS to słowo kluczowe Funkcja strzałki JS Klasy JS JS JSON Debugowanie JS Przewodnik po stylu JS Najlepsze praktyki JS Błędy JS Wydajność JS JS słowa zastrzeżone

Wersje JS

Wersje JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Krawędź Historia JS

Obiekty JS

Definicje obiektów Właściwości obiektu Metody obiektowe Wyświetlanie obiektów Akcesoria do obiektów Konstruktorzy obiektów Prototypy obiektów Iterowalne obiekty Zestawy obiektów Mapy obiektów Odniesienie do obiektu

Funkcje JS

Definicje funkcji Parametry funkcji Wywołanie funkcji Wywołanie funkcji Funkcja Zastosuj Zamknięcia funkcji

Klasy JS

Wprowadzenie do zajęć Dziedziczenie klas Klasa statyczna

JS Async

Oddzwaniania JS Asynchroniczny JS JS Obietnice JS Async/Oczekiwanie

JS HTML DOM

Wprowadzenie do DOM Metody DOM Dokument DOM Elementy DOM DOM HTML Formularze DOM DOM CSS Animacje DOM Wydarzenia DOM Odbiornik zdarzeń DOM Nawigacja DOM Węzły DOM Kolekcje DOM Listy węzłów DOM

Zestawienie komponentów przeglądarki JS

Okno JS Ekran JS Lokalizacja JS Historia JS JS Navigator Wyskakujący alert JS Czas JS Pliki cookie JS

JS Web API

Wprowadzenie do internetowego interfejsu API Interfejs API formularzy internetowych Interfejs API historii online API przechowywania danych w sieci Web Web Worker API Internetowy interfejs API pobierania Internetowy interfejs API geolokalizacji

JS AJAX

Wprowadzenie do AJAX AJAX XMLHttp Żądanie AJAX Odpowiedź AJAX Plik XML AJAX AJAX PHP ASP AJAX Baza danych AJAX Aplikacje AJAX Przykłady AJAX

JS JSON

Wprowadzenie do JSON Składnia JSON JSON a XML Typy danych JSON Analiza JSON JSON Obiekty JSON Tablice JSON Serwer JSON JSON PHP JSON HTML JSON JSONP

JS kontra jQuery

Selektory jQuery jQuery HTML jQuery CSS jQuery DOM

Grafika JS

Grafika JS JS płótno JS Działka JS Chart.js Wykres JS Google JS D3.js

Przykłady JS

Przykłady JS JS HTML DOM Wejście JS HTML Obiekty HTML JS Wydarzenia JS HTML Przeglądarka JS Edytor JS Ćwiczenia JS JS Quiz Certyfikat JS

Referencje JS

Obiekty JavaScript Obiekty HTML DOM


Stała JavaScript

Słowo constkluczowe zostało wprowadzone w ES6 (2015) .

Zmienne zdefiniowane za constpomocą nie mogą być ponownie zadeklarowane.

Zmienne zdefiniowane za constpomocą nie mogą być ponownie przypisane.

Zmienne zdefiniowane za pomocą constmają zasięg bloku.

Nie można ponownie przypisać

Zmienna constnie może być ponownie przypisana:

Przykład

const PI = 3.141592653589793;
PI = 3.14;      // This will give an error
PI = PI + 10;   // This will also give an error

Musi być przypisany

Zmienne JavaScript constmuszą mieć przypisaną wartość, gdy są deklarowane:

Prawidłowy

const PI = 3.14159265359;

Błędny

const PI;
PI = 3.14159265359;

Kiedy używać stałej JavaScript?

Zgodnie z ogólną zasadą, zawsze deklaruj zmienną z const, chyba że wiesz, że wartość ulegnie zmianie.

Użyj const, gdy deklarujesz:

  • Nowa tablica
  • Nowy obiekt
  • Nowa funkcja
  • Nowy RegExp

Obiekty stałe i tablice

Słowo kluczowe constjest trochę mylące.

Nie definiuje stałej wartości. Definiuje stałe odniesienie do wartości.

Z tego powodu NIE MOŻESZ:

  • Przypisz ponownie stałą wartość
  • Przypisz ponownie stałą tablicę
  • Przypisz ponownie stały obiekt

    Ale ty możesz:

  • Zmień elementy stałej tablicy
  • Zmień właściwości obiektu stałego

Tablice stałe

Możesz zmienić elementy tablicy stałej:

Przykład

// You can create a constant array:
const cars = ["Saab", "Volvo", "BMW"];

// You can change an element:
cars[0] = "Toyota";

// You can add an element:
cars.push("Audi");

Ale NIE możesz zmienić przypisania tablicy:

Przykład

const cars = ["Saab", "Volvo", "BMW"];

cars = ["Toyota", "Volvo", "Audi"];    // ERROR

Obiekty stałe

Możesz zmienić właściwości obiektu stałego:

Przykład

// You can create a const object:
const car = {type:"Fiat", model:"500", color:"white"};

// You can change a property:
car.color = "red";

// You can add a property:
car.owner = "Johnson";

Ale NIE możesz zmienić przypisania obiektu:

Przykład

const car = {type:"Fiat", model:"500", color:"white"};

car = {type:"Volvo", model:"EX60", color:"red"};    // ERROR

Obsługa przeglądarki

Słowo constkluczowe nie jest obsługiwane w programie Internet Explorer 10 lub starszym.

Poniższa tabela przedstawia pierwsze wersje przeglądarek z pełną obsługą constsłowa kluczowego:

Chrome 49 IE 11 / Edge Firefox 36 Safari 10 Opera 36
Mar, 2016 Oct, 2013 Feb, 2015 Sep, 2016 Mar, 2016


Zakres bloku

Deklarowanie zmiennej with constjest podobne do let deklarowania Block Scope .

x zadeklarowany w bloku, w tym przykładzie, nie jest taki sam jak x zadeklarowany poza blokiem:

Przykład

const x = 10;
// Here x is 10

{
const x = 2;
// Here x is 2
}

// Here x is 10

Możesz dowiedzieć się więcej o zasięgu blokowym w rozdziale Zakres JavaScript .


Ponowne deklarowanie

Ponowne zadeklarowanie zmiennej JavaScript varjest dozwolone w dowolnym miejscu programu:

Przykład

var x = 2;     // Allowed
var x = 3;     // Allowed
x = 4;         // Allowed

Ponowne zadeklarowanie istniejącej varlub let zmiennej na const, w tym samym zakresie, jest niedozwolone:

Przykład

var x = 2;     // Allowed
const x = 2;   // Not allowed

{
let x = 2;     // Allowed
const x = 2;   // Not allowed
}

{
const x = 2;   // Allowed
const x = 2;   // Not allowed
}

Ponowne przypisanie istniejącej constzmiennej w tym samym zakresie jest niedozwolone:

Przykład

const x = 2;     // Allowed
x = 2;           // Not allowed
var x = 2;       // Not allowed
let x = 2;       // Not allowed
const x = 2;     // Not allowed

{
  const x = 2;   // Allowed
  x = 2;         // Not allowed
  var x = 2;     // Not allowed
  let x = 2;     // Not allowed
  const x = 2;   // Not allowed
}

Ponowne zadeklarowanie zmiennej z const, w innym zakresie lub w innym bloku jest dozwolone:

Przykład

const x = 2;       // Allowed

{
  const x = 3;   // Allowed
}

{
  const x = 4;   // Allowed
}

Const Podnoszenie

Zmienne zdefiniowane za pomocą varpodnoszone do góry i można je zainicjować w dowolnym momencie.

Znaczenie: Możesz użyć zmiennej przed jej zadeklarowaniem:

Przykład

To jest wporządku:

carName = "Volvo";
var carName;

Jeśli chcesz dowiedzieć się więcej o podnoszeniu, przeczytaj rozdział JavaScript Podnoszenie .

Zmienne zdefiniowane za pomocą constsą również podnoszone na górę, ale nie są inicjowane.

Znaczenie: Użycie constzmiennej przed jej zadeklarowaniem spowoduje ReferenceError:

Przykład

alert (carName);
const carName = "Volvo";