Co to jest?
To jest zbiór pytań, które pojawiają się od czasu do czasu na temat składni w JavaScript. Jest to również Wiki społeczności, więc każdy może uczestniczyć w utrzymywaniu tej listy.
Dlaczego to?
Stack Overflow nie pozwala na wyszukiwanie określonych znaków. W rezultacie wiele pytań dotyczących operatorów i innych tokenów składni nie jest łatwych do znalezienia podczas ich wyszukiwania. Utrudnia to również zamykanie duplikatów. Poniższa lista ma pomóc w rozwiązaniu tego problemu.
Głównym pomysłem jest posiadanie linków do istniejących pytań dotyczących przepełnienia stosu, aby łatwiej było nam się do nich odwoływać, a nie kopiować treści ze specyfikacji ECMAScript.
Ponadto jest to rażąca kopia odniesienia do symboli PHP . Potrzebowaliśmy JS.
Proszę pomóż. Edytuj i dodaj linki do innych operatorów / odwołań do składni lub jeśli nie możesz znaleźć dobrych pytań / odpowiedzi na konkretny element składni, dodaj odpowiedź na to pytanie i połącz je
źródło
|
operatora. Wersja PHP była bardzo przydatna jako metoda zamykania duplikatów.Odpowiedzi:
Zobacz dokumentację na MDN o wyrażeniach, operatorach i instrukcjach .
Podstawowe słowa kluczowe i wyrażenia ogólne
this
słowo kluczowe:var x = function()
afunction x()
- składnia deklaracji funkcji(function(){
…})()
- IIFE (natychmiast wywoływane wyrażenie funkcyjne)(function(){…})();
działa, alefunction(){…}();
nie działa?(function(){…})();
vs(function(){…}());
!function(){…}();
- Co robi wykrzyknik przed funkcją?+function(){…}();
- JavaScript plus znak przed wyrażeniem funkcji!
vs wiodący średnik(function(window, undefined){…}(window));
someFunction()()
- Funkcje zwracające inne funkcje=>
- Znak równości, większe niż: składnia wyrażenia funkcji strzałki|>
- Rura, większa niż: Operator rurociągufunction*
,yield
,yield*
- Star pofunction
lubyield
: generator funkcji[]
,Array()
- Nawiasy kwadratowe: notacja tablicowa{key: value}
- Nawiasy klamrowe: składnia literału obiektu`
...${
...}
...`
- backticks, znak dolara z klamrowych: literały szablon`…${…}…`
kod z dokumentacji węzła?/
…/
- Ukośniki: literały wyrażeń regularnych$
- Znak dolara w regex zastąpić wzorów:$$
,$&
,$`
,$'
,$n
()
- Nawiasy: operator grupującyWyrażenia związane z właściwościami
obj.prop
,obj[prop]
,obj["prop"]
- Nawiasy kwadratowe lub kropka: Akcesory własności?.
,?.[]
,?.()
- znak zapytania, kropka: opcjonalnego operatora łańcuchowym::
- Podwójny dwukropek: operator wiązanianew
operator...iter
- Trzy kropki: składnia rozprzestrzeniania; parametry odpoczynku(...args) => {}
- Jakie jest znaczenie „… args” (trzy kropki) w definicji funkcji?[...iter]
- funkcja tablicy javascript es6 [… dane, 0] „operator spreadu”{...props}
- Właściwość Javascript z trzema kropkami (…)Przyrost i ubytek
++
,--
- Podwójny plus lub minus: operatory przed / po inkrementacji / dekrementacji++someVariable
vssomeVariable++
w JavascriptOperatory jednoargumentowe i binarne (arytmetyczne, logiczne, bitowe)
delete
operatorvoid
operator+
,-
- Plus i minus: operatory dodawania, konkatenacji i odejmowania; jednoargumentowe operatory znaków|
,&
,^
,~
- pojedynczy przewód, handlowe i daszkiem, tylda: bitowe OR, AND, XOR, NOT i operatorzy~1
równa się-2
?&&
,||
,!
- podwójne ampersand, podwójna rura, wykrzyknik: operatory logiczne??
- Podwójny znak zapytania: operator koalescencji zerowej**
- Gwiazda podwójna: operator potęgowy (potęgowanie)x ** 2
jest równaMath.pow(x, 2)
Operatory równości
==
,===
- Znaki równości: operatory równości!=
,!==
- Wykrzyknik i znaki równości: operatory nierównościOperatory przesunięcia bitowego
<<
,>>
,>>>
- wsporniki kątowe Dwa lub trzy: operatorzy nieco shiftOperator warunkowy
...
?
...:
... - Znak zapytania i okrężnicy: warunkowy (trójargumentowy) operatorOperatory przypisania
=
- Znak równości: operator przypisania%=
- Procent równa się: reszta przypisania+=
- Plus równa się: operator przypisania dodawania&&=
,||=
,??=
- podwójne Ampersand, rura, lub znak zapytania, a następnie znak równości: zadania logiczne||=
(lub równa się) w JavaScript?Destrukturyzacja
Operator przecinka
,
- Operator przecinkaDeklaracje
var
,let
,const
- zmienne DeklarowanieEtykieta
label:
- Dwukropek: etykietyźródło