Keď píšem v javascripte, často musím odkazovať vyhľadávače, aby sa objasnila syntax metód (a poradie, definícia argumentov) pracujúcich s reťazcami.

V tomto článku sa pokúsim uviesť príklady a popisy najbežnejších javascriptové metódy súvisiace s strunami. Najpopulárnejšie metódy sú pre pohodlie umiestnené v hornej časti článku.

Previesť na reťazec

Môžete previesť číslo, boolean alebo objekt na reťazec.

var mojecislo = 24; // 24 var myString = myNumber.toString(); // "24"

Môžete to urobiť aj pomocou funkcie string().

var mojecislo = 24; // 24 var myString = String(mojeCislo); // "24"

Nicholas Zakas hovorí: "Ak si nie ste istí hodnotou (nulovou alebo nedefinovanou), použite funkciu String(), pretože vracia reťazec bez ohľadu na typ premennej."

nedefinované znamená, že premennej nebola priradená žiadna hodnota, a nulový, - že mu bola priradená hodnota null (dalo by sa povedať, že null je definovaný ako prázdny objekt).

Rozdelenie reťazca na podreťazce

Ak chcete rozdeliť reťazec na pole podreťazcov, môžete použiť metódu split():

Var myString = "prichádza, oddeľuje, pri, čiarky"; var substringArray = myString.split(","); // ["prichádza", "od seba", "at", "the", "commas"] var arrayLimited = myString.split(",", 3); // ["prichádza", "od seba", "na"]

Ako ukazuje posledný riadok, hodnota druhého voliteľného argumentu určuje počet prvkov vo vrátenom poli.

Získajte dĺžku reťazca

Pomocou vlastnosti length môžete nájsť počet znakov Unicode v reťazci:

Var myString = "Si pekná postava."; var stringLength = myString.length; // 25

Definujte podreťazec v reťazci

Existujú dva spôsoby, ako to dosiahnuť:

Použiť indexOf() :

Var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.indexOf("Waldo"); // 7

Metóda indexOf() hľadá podreťazec (prvý odovzdaný argument) v reťazci (od začiatku reťazca) a vracia pozíciu prvého znaku, na ktorom sa začal výskyt podreťazca v reťazci.

Použiť lastIndexOf() :

Var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

Metóda lastIndexOf() robí presne to isté, okrem toho, že hľadá posledný podreťazec v reťazci.

Ak sa podreťazec nenájde, obe metódy vrátia hodnotu -1. Druhý voliteľný argument určuje pozíciu v reťazci, kde chcete začať hľadať. Ak je teda druhý argument metódy indexOf() 5, vyhľadávanie začne od 5. znaku a 0-4 znaky budú ignorované. V prípade lastIndexOf() , aj keď je druhý argument 5, vyhľadávanie sa spustí spätne, pričom znaky 6 a vyššie budú ignorované.

Ako nahradiť časť reťazca

Ak chcete nahradiť časť (alebo dokonca celý) reťazec, použite metódu replace().

Var slugger = "Josh Hamilton"; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // "Jose Bautista"

Prvý argument obsahuje časť podreťazca, ktorý sa má nahradiť; druhý argument je reťazec, ktorý nahradí podreťazec, ktorý sa má nahradiť. Nahradená bude iba prvá inštancia podreťazca.

Ak chcete nahradiť všetky výskyty podreťazca, použite regulárny výraz s vlajkou "g".

Var myString = "Predáva automobilové škrupiny na automobilovom pobreží"; var newString = myString.replace(/automotive/g, "more"); log konzoly (newString); // "Predáva morské mušle na brehu mora"

Druhý argument môže obsahovať podreťazec alebo funkciu, ktorá sa má nahradiť.

Nájdite postavu na danej pozícii

Ak chcete zistiť, ktorý znak je na danej pozícii, môžete použiť metódu charAt():

Var myString = "Vtáky z peria"; var whatsAtSeven = myString.charAt(7); // "f"

Ako to často v JavaScripte býva, prvá pozícia sa počíta od 0, nie od 1.

Ako alternatívu môžete použiť metódu charCodeAt(), avšak namiesto samotného znaku získate jeho kód.

Var myString = "Vtáky z peria"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

Všimnite si, že kód pre veľké písmeno (pozícia 11) sa líši od kódu pre rovnaké písmeno, ale malé (pozícia 7).

zreťazenie reťazcov v javascripte

Na zreťazenie reťazcov budete väčšinou používať operátor (+). Reťazce však môžete zreťaziť aj pomocou metódy concat().

Var stringOne = "Knibb High football"; var stringTwo = stringOne.concat("pravidlá."); // "Pravidlá futbalu Knibb High"

Do concat() možno odovzdať viacero reťazcov a tie sa objavia vo výslednom reťazci v poradí, v akom boli pridané do metódy concat().

VarstringOne = "Knibb"; var stringTwo = "Vysoko"; var stringThree = "futbal"; var stringFour = "pravidlá."; var finalString = stringOne.concat(stringTwo, stringTri, stringFour); console.log(finalString); // "Knibb vysoké futbalové pravidlá."

Časť reťazca (extrahujte podreťazec v javascripte)

Sú tam tri rôznymi spôsobmi vytvorte nový reťazec "vytiahnutím" časti podreťazca z existujúceho reťazca.

Použitie slice() :

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "fghij"

Pomocou substring() :

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "fghij"

V prípade metód (slice() a substring()) je prvým argumentom pozícia znaku, na ktorej začína podreťazec (počítajúc od 0), druhým argumentom je pozícia znaku, na ktorej sa podreťazec končí, pričom znak je určený v druhý argument nie je zahrnutý vo vrátenom podreťazci.

Pomocou substr() :

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "fghijklmno"

Pre metódu substr prvý argument tiež špecifikuje pozíciu znaku, na ktorej začína podreťazec. Druhý argument je voliteľný. Zároveň však druhý argument určuje počet znakov, ktoré by mali byť zahrnuté do podreťazca, počnúc od pozície, ktorú sme už definovali v prvom argumente. Táto technika je dobre znázornená v príklade vyššie.

Previesť reťazec na malé alebo veľké písmená v javascripte

Existujú štyri spôsoby, ako vykonať potrebné transformácie. Dva na prevod znakov reťazca veľké písmená.

Var stringOne = "Hovor, nepočujem ťa."; var stringTwo = stringOne.toLocaleUpperCase(); // "HOVORIŤ, NEPOČUJEM ŤA" var stringThree = stringOne.toUpperCase(); // "HOVORITE, NEPOČUJEM ŤA"

A dva na konverziu reťazca na malé písmená:

Var stringOne = "NEMUSÍTE kričať"; var stringTwo = stringOne.toLocaleLowerCase(); // "nemusíte kričať" var stringThree = stringOne.toLowerCase(); // "nemusíš kričať"

Vo všeobecnosti nie je rozdiel medzi metódou miestneho nastavenia a metódou bez miestneho nastavenia, ale „pre niektoré jazyky, ako je turečtina, ktorých veľkosť písmen sa neriadi predpísanými malými a veľkými písmenami v systéme Unicode, sú dôsledky používania inej ako miestnej metóda môže byť iná." Preto sa riaďte nasledujúcim pravidlom: "ak nepoznáte jazyk, v ktorom bude kód fungovať, je bezpečnejšie použiť metódy miestneho nastavenia."

Zhoda vzorov v javascripte

Prítomnosť vzoru v reťazci môžete skontrolovať pomocou 2 metód.

Metóda match() sa zavolá na objekt string a regulárny výraz sa odovzdá ako argument metóde match().

Var myString = "Koľko dreva môže skľučovadlo skľučovadlo skľučovadlo"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["drevo"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "Koľko dreva môže skľučovadlo skľučovadlo skľučovadlo"

A metóda exec() sa zavolá na objekt RegExp, reťazec sa odovzdá ako argument:

Var myString = "Koľko dreva môže skľučovadlo skľučovadlo skľučovadlo"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["chuck"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "Koľko dreva môže skľučovadlo skľučovadlo skľučovadlo"

Obe metódy vrátia prvý vyhovujúci výskyt. Ak sa nenájde žiadna zhoda, vráti sa NULL. Ak má regulárny výraz príznak "g", potom sa ako výsledok vráti pole obsahujúce všetky zhody.

Môžete tiež použiť metódu search(), ktorá berie ako argument regulárny výraz a vracia počiatočnú pozíciu prvého zodpovedajúceho vzoru.

Var myString = "Predpokladať"; var patternLocation = myString.search(/ume/); // 3

Ak sa nenájde žiadna zhoda, metóda vráti -1.

Porovnanie dvoch reťazcov pre následné triedenie

Ak chcete porovnať dva reťazce na základe poradia triedenia miestneho nastavenia, môžete použiť metódu localeCompare. Metóda localeCompare vracia tri možné hodnoty.

MyString = "kura"; var myStringTwo = "vajce"; var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (okrem prehliadača Chrome, ktorý vráti -2) whichCameFirst = myString.localeCompare("kura"); // 0 whichCameFirst = myString.localeCompare("jablko"); // 1 (Chrome vráti 2)

Ako je uvedené vyššie, záporná hodnota sa vráti, ak je pôvodný reťazec zoradený pred argumentom reťazca, ak je argument reťazca zoradený za pôvodným reťazcom, vráti sa +1. Ak sa vráti nulová hodnota, tieto dva reťazce sú ekvivalentné.

Keď píšeš JavaScript, veľmi často musíte surfovať po internete a hľadať informácie o syntaxi a parametroch pre metódy, ktoré pracujú s reťazcami.

Prečítal som veľa článkov o práci so strunami. Tento príspevok ukáže príklady a krátke popisy najbežnejšie metódy práce s reťazcami. Pokúsil som sa uviesť najbežnejšie metódy na začiatok pre rýchlu orientáciu.

Samozrejme, väčšina skúsených vývojárov už pozná mnohé z metód, ale myslím si, že toto dobrý zoznam pre začiatočníkov, aby pochopili škálu techník, ktoré môžu pomôcť vykonávať zložité operácie jednoduchými prostriedkami.

Konvertovať na reťazec

Číslo, boolovský výraz alebo objekt môžete previesť na reťazec:

var mojecislo = 24; // 24 var myString = myNumber.toString(); // "24"

Môžete to urobiť rovnakým spôsobom s String():

var mojecislo = 24; // 24 var myString = String(mojeCislo); // "24"

Ak si nie ste istí, že hodnota nie je nulový alebo nedefinované, môžeš použiť String(), ktorý vždy vráti reťazec bez ohľadu na typ hodnoty.

Rozdelenie reťazca na podreťazce

Ak chcete rozdeliť reťazce na pole podreťazcov, môžete použiť metódu rozdeliť ():

Var myString = "prichádza, oddeľuje, pri, čiarky"; var substringArray = myString.split(","); // ["prichádza", "od seba", "at", "the", "commas"] var arrayLimited = myString.split(",", 3); // ["prichádza", "od seba", "na"]

Ako môžete vidieť v poslednom riadku, druhým parametrom funkcie je obmedzenie počtu prvkov, ktoré budú vo finálnom poli.

Získanie dĺžky reťazca

Ak chcete zistiť, koľko znakov je v reťazci, použijeme vlastnosť dĺžka:

Var myString = "Si pekná postava."; var stringLength = myString.length; // 25

Nájdenie podreťazca v reťazci

Existujú dva spôsoby vyhľadávania podreťazca:

Použitie indexOf():

Var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.indexOf("Waldo"); // 7

indexOf() metóda začne hľadať podreťazec od začiatku reťazca a vráti pozíciu začiatku prvého výskytu podreťazca. V tomto prípade je to číslo 7.

Použitie lastIndexOf():

Var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

Metóda vráti počiatočnú pozíciu posledného výskytu podreťazca v reťazci.

Obe metódy vrátia hodnotu -1, ak sa podreťazec nenájde, a obe prevezmú voliteľný druhý argument označujúci pozíciu v reťazci, kde chcete začať hľadať. Ak je teda druhý argument "5", indexOf() začne hľadať od znaku 5, pričom ignoruje znaky 0-4 lastIndexOf() začne hľadať od znaku 5 a prejde dozadu, pričom ignoruje znaky 6 a ďalej.

Výmena podreťazca

Ak chcete nahradiť výskyt podreťazca v reťazci iným podreťazcom, môžete použiť nahradiť ():

Var slugger = "Josh Hamilton"; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // "Jose Bautista"

Prvý argument je to, čo chcete nahradiť a druhý argument je nový reťazec. Funkcia nahrádza iba prvý výskyt podreťazca v reťazci.

Ak chcete nahradiť všetky výskyty, musíte použiť regulárny výraz s globálnym príznakom:

Var myString = "Predáva automobilové škrupiny na automobilovom pobreží"; var newString = myString.replace(/automotive/g, "more"); log konzoly (newString); // "Predáva morské mušle na brehu mora"

Druhý argument môže obsahovať špeciálnu šablónu alebo funkciu. Viac podrobností si môžete prečítať.

Získajte znak na danej pozícii v reťazci

Symbol môžeme získať pomocou funkcie charAt():

Var myString = "Vtáky z peria"; var whatsAtSeven = myString.charAt(7); // "f"

Ako je to často v prípade JavaScriptu, prvá pozícia v reťazci začína na 0, nie na 1.

Ako alternatívnu funkciu môžete použiť charCodeAt() funkciu, čo je kód znaku.

Var myString = "Vtáky z peria"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

Všimnite si, že kód pre znak "F" (pozícia 11) je odlišný od kódu pre znak "f" (pozícia 7).

Spájanie reťazcov

Vo väčšine prípadov môžete na spojenie reťazcov použiť operátor „+“. Ale môžete použiť aj metódu concate():

Var stringOne = "Knibb High football"; var stringTwo = stringOne.concat("pravidlá."); // "Pravidlá futbalu Knibb High"

Týmto spôsobom môžeme spojiť veľa riadkov do jedného v poradí, v akom sú napísané:

VarstringOne = "Knibb"; var stringTwo = "Vysoko"; var stringThree = "futbal"; var stringFour = "pravidlá."; var finalString = stringOne.concat(stringTwo, stringTri, stringFour); console.log(finalString); // "Knibb vysoké futbalové pravidlá."

Extrahovanie podreťazca

Existujú 3 spôsoby, ako získať reťazec z časti iného reťazca:

Použitím plátok ():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "fghij"

Použitím podreťazec():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "fghij"

V oboch funkciách je prvým parametrom znak, od ktorého podreťazec začína (začína od pozície 0) a druhým argumentom (voliteľný) je pozícia znaku, na ktorú sa podreťazec vracia. Príklad (5, 10) vráti reťazec medzi pozíciou 5 a 9.

Použitím substr():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "fghijklmno"

Prvý argument je pozícia znaku, od ktorej začína nový riadok a druhý argument je počet znakov od počiatočnej pozície nového riadku. Tie. (5, 10) vráti 10 znakov od pozície 5.

Preveďte reťazec na veľké alebo malé písmená.

Existujú 4 spôsoby prekladu. Prvé 2 konvertujú reťazec na veľké písmená:

Var stringOne = "Hovor, nepočujem ťa."; var stringTwo = stringOne.toLocaleUpperCase(); // "HOVORIŤ, NEPOČUJEM ŤA" var stringThree = stringOne.toUpperCase(); // "HOVORITE, NEPOČUJEM ŤA"

Ostatné 2 konvertujú reťazec na malé písmená:

Var stringOne = "NEMUSÍTE kričať"; var stringTwo = stringOne.toLocaleLowerCase(); // "nemusíte kričať" var stringThree = stringOne.toLowerCase(); // "nemusíš kričať"

Je lepšie použiť metódy "lokálne", ako v rôzne miesta, napríklad v Turecku nefunguje zobrazovanie registrov celkom tak, ako sme zvyknutí, a preto môže byť výsledok taký, aký sme chceli. Ak použijete metódy "miestneho nastavenia", potom nebudú žiadne takéto problémy.

zhoda vzorov

Porovnanie vzorov v reťazci možno použiť s 2 metódami, ktoré fungujú rôznymi spôsobmi.

Metóda zápas() aplikovaný na reťazec a ako parameter berie regulárny výraz:

Var myString = "Koľko dreva môže skľučovadlo skľučovadlo skľučovadlo"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["drevo"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "Koľko dreva môže skľučovadlo skľučovadlo skľučovadlo"

Metóda exec() sa aplikuje na objekt regulárneho výrazu a ako parameter berie reťazec:

Var myString = "Koľko dreva môže skľučovadlo skľučovadlo skľučovadlo"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["chuck"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "Koľko dreva môže skľučovadlo skľučovadlo skľučovadlo"

Obe metódy vrátia iba prvú zhodu. Ak neboli žiadne zápasy, návraty nulový.

Môžete tiež použiť metódu Vyhľadávanie(), ktorý prevezme regulárny výraz a vráti pozíciu prvej zhody vzoru:

Var myString = "Predpokladať"; var patternLocation = myString.search(/ume/); // 3

Ak neboli žiadne zhody, vráti sa „ -1 «.

Porovnanie dvoch reťazcov na triedenie

Môžete porovnať 2 reťazce a určiť, ktorý z nich je podľa abecedy prvý. Na tento účel používame metódu localeCompare(), ktorý vráti 3 možné hodnoty:

Var myString = "kura"; var myStringTwo = "vajce"; var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (Chrome vráti -2) whichCameFirst = myString.localeCompare("kura"); // 0 whichCameFirst = myString.localeCompare("jablko"); // 1 (Chrome vráti 2)

Ako je uvedené vyššie, vráti sa záporné číslo, ak nasleduje reťazcový argument originálny reťazec. Kladné číslo, ak sa argument reťazca nachádza pred pôvodným reťazcom. Ak sa vráti 0 znamená, že reťazce sú rovnaké.

Na kontrolu návratovej hodnoty je lepšie použiť if (výsledok< 0), чем if (result === -1). Последнее не будет работать в Chrome.

Ďakujem za pozornosť, dúfam, že ste sa dozvedeli veľa nového a zaujímavého!

Autor článku: Alex. Kategória:
Dátum zverejnenia: 19.03.2013

Operandmi porovnávacích operátorov môžu byť číselné a reťazcové hodnoty. Pri použití Unicode sa reťazce porovnávajú na základe štandardného lexikografického poradia.

Javascript umožňuje prísne porovnávanie aj porovnávanie obsadenia. Pre presné porovnanie musia byť oba operandy rovnakého typu a:

  • Dva reťazce sú úplne rovnaké, ak pozostávajú z rovnakej postupnosti znakov
  • Dve čísla sú prísne rovnaké, ak sú rovnaké v obvyklom zmysle slova. +0 sa presne rovná -0.
  • NaN sa striktne nerovná ničomu, vrátane NaN
  • Dva boolovské operandy sú striktne rovnaké, ak sú oba pravdivé alebo nepravdivé
  • Dva objektové operandy sú striktne rovnaké, ak sú odkazmi na rovnaký spoločný objekt
  • Null a Undefined sú rovnaké ==, ale nie sú striktne rovnaké ===

Nasledujúca tabuľka popisuje operátory porovnávania:

Operátor Popis Príklady, ktoré vrátia hodnotu true pre var1=3, var2=4
Rovná sa (==) Ak tieto dva operandy nie sú rovnakého typu, javascript vykoná konverziu typu a prísne porovnáva. Ak je niektorý z operandov číslo alebo boolovská hodnota, potom sa operandy skonvertujú na čísla; ak je niektorý operand reťazec - druhý sa skonvertuje na reťazec

3 == var1
"3" == var1
3 == "3"

Nerovná sa (!=) Vráti hodnotu true, ak sa operandy nezhodujú. Ak majú operandy iný typ, javascript konvertuje.

var1 != 4
var1 != "5"

Úplne rovnaké (===) Vráti hodnotu true, ak sú operandy striktne rovnaké (pozri vyššie), bez konverzie typu.
Striktne sa nerovná (!==) Vráti hodnotu true, ak operandy nie sú striktne rovnaké (pozri vyššie) alebo sú rôznych typov.

var2 !== 3
3 !== "3"

Viac (>) Vráti hodnotu true, ak je ľavý operand väčší ako pravý.
Väčšie alebo rovné (>=) Vráti hodnotu true, ak je ľavý operand väčší alebo rovný pravému operandu.

var2 >= var1
var1 >= 3

Menej (<) Vráti hodnotu true, ak je ľavý operand menší ako pravý operand.
Menej alebo rovnaké (<=) Vráti hodnotu true, ak je ľavý operand menší alebo rovný pravému operandu.

var1<= var2
var2<= 5

Používanie porovnávacích operátorov

Štandardné operátory rovnosti (== a !=) porovnávajú dva operandy bez ohľadu na ich typ. Striktná rovnosť (=== a !==) porovnáva operandy rovnakého typu. Ak musia byť operandy rovnakého typu a hodnoty, použite prísnu rovnosť. V opačnom prípade použite bežné operátory rovnosti, ktoré vám umožňujú skontrolovať rovnosť operandov, aj keď sú rôznych typov.

Pri konverzii typov Javascript konvertuje Reťazec , číslo , Boolean a Objekt nasledujúcim spôsobom:

  • Pri porovnávaní čísla a reťazca sa reťazec skonvertuje na číselnú hodnotu. Javascript získa hodnotu čísla z reťazcového literálu: "123" == 123 .
  • Ak je jeden z operandov boolovský, potom sa skonvertuje na 1, ak je pravdivý, a na +0, ak je nepravdivý
  • Ak sa objekt porovnáva s číslom alebo reťazcom, javascript sa pokúsi získať zodpovedajúcu hodnotu pre objekt. Konvertuje objekt na primitívnu hodnotu, reťazec alebo číslo pomocou metód valueOf a toString. Ak sa objekt nedá skonvertovať, vygeneruje sa chyba behu.

Hneď vás upozorním, áno, článok je trochu nesprávny, vitajte v komentároch, sú tam dobré vysvetlenia).

Dobrý deň.

JavaScript má dva podobné operátory: == a ===. Ak nepoznáte ich rozdiely, môže sa to zmeniť na veľa chýb. Tak som sa rozhodol otvoriť túto tému. Aký je presne rozdiel medzi == a ===, ako fungujú, prečo sa to deje a ako sa vyhnúť chybám.

Operátor == porovnáva pre rovnosť, ale === porovnáva pre identitu. Výhodou operátora === je, že nevnucuje dve hodnoty rovnakého typu. Preto sa bežne používa.

Abc == nedefinované; // true if abc = undefined | null abc === nedefinované; // true - iba ak abc = undefined!
abc == nepravda; // pravda, ak abc = nepravda | 0 | "" | abc === nepravda; // true iba ak abc = false!
Koniec koncov, zámena false a 0 (alebo "", alebo ) je sotva veľmi dobrá.

Samozrejme:
5 === 5; // pravda pravda === pravda; // true "abc" === "abc"; // pravda

A teraz zaujímavý príklad.
5 == 5; // pravda 5 === 5; // true new Number(5) == 5; // true new Number(5) === 5; // nepravda!

Prečo sa to deje? Áno, akékoľvek číslo je objektom triedy Number. Ale môžete reprezentovať číslo ako číslicu - nejakú konštantu. Deklaruje sa raz a je vždy identická sama so sebou. Ale zároveň deklarovanie nového objektu triedy Number - je mu rovný v hodnote, ale nie identický (keďže ide o dva úplne odlišné objekty triedy Number).

Polia / Objekty

Ale pre polia a objekty fungujú obidva operátory rovnakým spôsobom pri porovnaní identity:
var a = (); a == (); // nepravda a === (); // nepravda a == a; // pravda a === a; // pravda

Ak chcete porovnať polia a objekty, môžete napísať špeciálnu funkciu:
function isEq(a, b)( if(a == b) return true; for(var i in a)( if(!isEq(a[i], b[i])) return false; ) for(var i v b)( if(!isEq(a[i], b[i])) vráti hodnotu false; ) vráti hodnotu true; )
Trochu nedbalé, dva cykly a asi hasOwnProperty Zabudol; dobre to bude stačiť.

Toto<-

Je tu ešte jedno úskalie. Toto je prechod na toto.
(funkcia()( toto == 5; // pravda toto === 5; // nepravda )).call(5);

Tu je taký moment. Oplatí sa na to nezabudnúť.

Celkom...

No a teraz si predstavte, že si píšeme vlastný superframework, tam aktívne používame operátor === namiesto == jednoducho preto, že je krajší a niekto u nás nájde viacero chýb.
func(newNumber(5)); (funkcia()( func(to); )).vyvolanie(5);

Zdá sa, že takéto príklady nie sú životaschopné? Prosím!

jQuery:
$.each(, function()( func(this); ));

No, alebo chcel rozšíriť postavu.
var Päť = nové číslo(5); päť.a = 2; // Chcel som expandovať, ale práve 5 sa nerozšíri // tu nejako používame... func(Five);

To je všetko, dúfam, že to bude niekomu užitočné. Ďakujem za tvoju pozornosť.