Wyjaśnij rekordy JavaScript?

Wyjasnij Rekordy Javascript



JavaScript jest dostarczany z nieprymitywnym typem danych „ Obiekt ”, który jest wyprowadzany za pomocą prymitywnych (wbudowanych) typów danych. „Obiekt” działa jako instancja dostępu do członków JavaScript. Służy do wywołania funkcji JavaScript w celu wykonania określonego zadania, którego nie mogą wykonać prymitywne typy danych. Jednak jedną wadą tego typu danych jest to, że wykonuje operację porównania na podstawie swojej tożsamości, a nie zawartości. Aby rozwiązać ten problem, JavaScript oferuje nowy typ danych „ Dokumentacja ”, ponieważ ściśle porównuje się na podstawie treści, a nie tożsamości.

W tym przewodniku wyjaśniono rekordy JavaScript.







Czym są „Rekordy”?

JavaScript “ Dokumentacja ” to nowy typ pierwotny (łańcuchy znaków, liczby, symbole) podobny do wbudowanego . Jedyna różnica polega na tym, że „Rekordy” są całkowicie niezmienne, tj. wartości ich kluczy nie można zmienić po ich zainicjowaniu.



Składnia



Składnia „ Nagrywać ” jest identyczny z „Obiektem”, ale wymaga „ # (hash)” przed nawiasami klamrowymi oznaczającymi go jako „Record”:





stała zapisana nazwa = #{
/*
kluczowa wartość
/*
}


Użyjmy powyższej składni, aby utworzyć nowy rekord.

Jak tworzyć rekordy?

Aby utworzyć rekord, określ symbol „#(hash)” na początku nawiasów klamrowych, jak pokazano w poniższym bloku kodu:



stała osoba = #{
nazwa użytkownika: 'Lub' ,
Imię: 'Usman' ,
wiek: dwadzieścia jeden ,
}
log konsoli ( nazwa.osoby )
log konsoli ( nazwa.osoby )
log konsoli ( osobistość )


W powyższym bloku kodu:

    • osoba ” odnosi się do nowego „Rekordu” zawierającego następujące klucze „fname”, „lname” i „age”.
    • Następnie „ konsola. dziennik() ” wyświetla kolejno wartości klucza „person”.

Notatka: Użytkownik może również określić zawartość „Rekordów” w jednym wierszu w następujący sposób:

stała osoba = #{fname: 'Ali', lname: 'Usman', wiek: 21}


Wyjście


Można zauważyć, że na wyjściu wyświetlane są wszystkie kluczowe wartości utworzonego Rekordu „osoba”.

Ograniczenie zapisów

„Rekord” nie akceptuje „Tablicy” i „Obiektu” jako swojego klucza. Jeśli użytkownik przekaże je do rekordu, kompilator wygeneruje „ Błąd typu ”. Poniższy blok kodu pokazuje to praktycznie:

const nowyRekord = #{
miejsce: [ „HTML” , „CSS” , „JavaScript” ]
}
log konsoli ( osoba.arr )


W powyższych liniach kodu:

    • nowy rekord ” inicjuje tablicę o nazwie „arr” jako swój klucz.
    • Następnie „ konsola. dziennik() ” wyświetla wartość klucza „arr” określoną w „newRecord”.

Wyjście


Konsola wyświetla „TypeError (przekazanie nieoczekiwanego typu)”, ponieważ „Rekordy” nie akceptują tablicy jako klucza.

Zrozumienie rekordów JavaScript na podstawie przykładów

Ta sekcja obejmuje zastosowania „Rekordów” praktycznie za pomocą podanych przykładów.

Zacznijmy od pierwszego przykładu.

Przykład 1: Rekordy są głęboko niezmienne

JavaScript “ Dokumentacja ” są głęboko niezmiennymi prymitywnymi typami. „Głęboko niezmienne” oznacza, że ​​wszystkie kluczowe wartości Rekordu nie mogą być modyfikowane ani zmieniane na żadnym poziomie po ich ustawieniu. Typy „prymitywne” oznaczają wszystkie podstawowe typy danych JavaScript, takie jak string, number, null, undefined i wiele innych.

Poniższy blok kodu pokazuje w praktyce podaną koncepcję:

const mójRekord = #{
nazwa: 'Lub' ,
wiek: dwadzieścia jeden ,
}
myRecord.name= „Haroon”


W powyższym bloku kodu „ mój rekord ' klucz ' nazwa ” wartość jest modyfikowana po jej zainicjowaniu.

Wyjście


Można zauważyć, że kompilator pokazuje „TypeError” podczas modyfikowania wartości klucza „newRecord”.

Przykład 2: Rekordy są porównawcze

Główną zaletą „Rekordów” jest to, że porównuje się je na podstawie wartości, a nie tożsamości. Natomiast „Obiekty” porównuje się według ich tożsamości, a nie wartości. Jeśli dwie wartości rekordów są równe, kompilator zwraca wartość true.

Zobaczmy to praktycznie za pomocą podanych linijek kodu:

const mójRekord = #{
nazwa: 'Lub' ,
wiek: dwadzieścia jeden ,
}
log konsoli ( mój rekord === #{
nazwa: 'Lub' ,
wiek: dwadzieścia jeden ,
} ) ;


Tutaj powyższy fragment kodu tworzy dwa rekordy, które są porównywane za pomocą „ ścisła równość (===)”.

Wyjście


Dane wyjściowe zwracają „ PRAWDA ” Wartość logiczna, która oznacza, że ​​określone operatory, tj. „Rekordy” są sobie równe.

Przykład 3: Konwertuj rekord na obiekt

„Rekordy” JavaScript można również przekonwertować na typ danych „Object” za pomocą konstruktora „Object”. Oto jego praktyczna realizacja:

pozwalać mój rekord = #{ Jeden: 1, Dwa: 2}
log konsoli ( Obiekt ( mój rekord ) )
log konsoli ( typeof myRecord )


W powyższych liniach kodu:

    • Pierwszy ' lconsole.and() ” używa konstruktora „Object” do konwersji „ mój rekord ” w „obiekt.
    • Druga metoda „console.log()” wykorzystuje metodę „ typ ”, aby sprawdzić typ „myRecord”.

Wyjście


Dane wyjściowe pokazują przekonwertowany „newRecord” jako „ Obiekt ”, który potwierdza, że ​​„newRecord” został pomyślnie przekonwertowany na „obiekt”.

Przykład 4: Konwertuj obiekt na zapis

Użytkownik może również przekonwertować „Obiekt” na „Nagraj” w celu porównania za pomocą „ Nagrywać() ' metoda. Zróbmy to praktycznie:

pozwalać mójObj = { Jeden: 1 , Dwa: 2 }
pozwalać mójRekord = Rekord ( mójObj )
log konsoli ( mój rekord )


Teraz powyższy fragment kodu używa „ Nagrywać() ” do konwersji podanego obiektu „myObj” na „myRecord”.

Wyjście


Dane wyjściowe pomyślnie pokazują przekonwertowany obiekt „myObj” na treść „myRecord”.

Przykład 5: Utwórz nowe rekordy z istniejących rekordów

Jak omówiono w pierwszym przykładzie, „Rekordy” są niezmienne, tj. ich wartości kluczy nie mogą być modyfikowane. Jednak użytkownik może utworzyć nowy „Rekord” z istniejącego „Rekordu” wraz z dodaniem innych wartości.

Postępuj zgodnie z podanym fragmentem kodu, aby utworzyć nowy rekord z istniejącego:

pozwalać stary rekord = # {A: 1, B: 2};
pozwalać nowyRekord = #{ ...mójRekord, C: 3, D:4}
log konsoli ( nowy rekord )


W powyższym kodzie JavaScript:

    • stary rekord ” odnosi się do istniejącego rekordu mającego dwie kluczowe wartości.
    • Dalej „ nowy rekord ” odpowiada nowemu rekordowi, który jest tworzony za pomocą istniejącego „starego rekordu”, a także poprzez dodanie nowych określonych wartości klucza.
    • Wreszcie „ konsola. dziennik() ” wyświetla nowo utworzony rekord o nazwie „newRecord”.

Wyjście


Dane wyjściowe wyświetlają wszystkie kluczowe wartości nowo utworzonego Rekordu.

Przykład 6: Dostęp do rekordów przy użyciu metody „Object.keys()”.

Użytkownik może skorzystać z wbudowanego JavaScript „ Klucze() ' metoda ' Obiekt ”, aby uzyskać dostęp do klawiszy Rekordu. W tym scenariuszu służy do uzyskiwania dostępu do kluczy „myRecord”:

pozwalać mój rekord = # {A: 1, B: 2};
pozwalać recordKeys = Object.keys ( mój rekord ) ;
log konsoli ( rekordKlucze )


Powyższy fragment kodu wykorzystuje „ Obiekt.keys() ”, aby uzyskać dostęp do wszystkich kluczy obecnych w „myRecord”.

Wyjście


Dane wyjściowe pokazują wszystkie klucze „myRecord” w formacie tablicowym, a także ich indeksy w formacie pary klucz-wartość.

Wniosek

JavaScript “ Dokumentacja ” to typ danych na poziomie zaawansowanym, który jest głęboko niezmienny. Działa podobnie do „obiektu”, ale główna różnica polega na tym, że jego wartość można zmienić lub zaktualizować po jej ustawieniu. Wymaga symbolu „# (hash)” przed nawiasami klamrowymi dla deklaracji, w przeciwnym razie działa jako obiekt. W tym przewodniku pokrótce wyjaśniono typ danych JavaScript Records.