Obiekt window w TypeScript
Ten artykuł wyjaśnia obiekt window w TypeScript.
Możesz poznać właściwości i metody obiektu window
poprzez kod.
YouTube Video
Obiekt window w TypeScript
window
to globalny obiekt w TypeScript i JavaScript reprezentujący całe okno przeglądarki. Zawiera wiele właściwości i metod do korzystania z API przeglądarki, manipulowania DOM (Model Obiektowy Dokumentu), używania timerów, pamięci i innych funkcji.
tsconfig.json i obiekt window
W TypeScript, podczas uzyskiwania dostępu do obiektu window
, globalne funkcje specyficzne dla przeglądarki mają zdefiniowane typy, co umożliwia automatyczne uzupełnianie w edytorze i sprawdzanie typów. Dzięki standardowemu plikowi definicji typów TypeScript (lib.dom.d.ts
), TypeScript rozpoznaje różne właściwości i metody obiektu window
.
Podczas korzystania z TypeScript, zazwyczaj plik tsconfig.json
umieszcza się w katalogu głównym projektu. Ten plik służy do określenia opcji kompilatora i zakresu plików definicji typów.
Pracując z window
, szczególnie ważne jest włączenie definicji typów przeglądarki (definicji typów DOM). Bez tego window
i document
spowodują błędy typów.
1{
2 "compilerOptions": {
3 "target": "es6",
4 "module": "esnext",
5 "strict": true,
6 "lib": ["es6", "dom"], // Enable DOM type definitions
7 "outDir": "./dist"
8 },
9 "include": ["src"]
10}
- Po określeniu
"lib": ["es6", "dom"]
typywindow
idocument
będą prawidłowo rozpoznawane i uzupełniane automatycznie.
Główne właściwości i metody obiektu window
window.document
window.document
jest właściwością służącą do uzyskania dostępu do DOM strony. Możesz pobierać elementy i wprowadzać zmiany w DOM.
1console.log(window.document.title); // Display the title of the current document
- W tym przykładzie wyświetlany jest tytuł bieżącego dokumentu.
window.localStorage
/window.sessionStorage
window.localStorage
iwindow.sessionStorage
to właściwości umożliwiające korzystanie z funkcji przechowywania danych użytkownika w przeglądarce.
1window.localStorage.setItem('key', 'value'); // Save data
2const value = window.localStorage.getItem('key'); // Retrieve data
3console.log(value); // 'value'
- W tym przykładzie dane są zapisywane do
localStorage
, następnie pobierane i wyświetlane.
window.location
window.location
to obiekt służący do pobierania i modyfikacji informacji o bieżącym adresie URL. Możesz wykonywać przekierowania i zmieniać adresy URL.
1console.log(window.location.href); // Display the current URL
2window.location.href = 'https://example.com'; // Redirect to another page
- W tym przykładzie wyświetlany jest adres URL, a użytkownik zostaje przekierowany na inną stronę.
window.setTimeout
/window.setInterval
window.setTimeout
iwindow.setInterval
to metody służące do wykonywania funkcji z opóźnieniem lub w regularnych odstępach czasu.
1window.setTimeout(() => {
2 console.log('This will be executed after 2 seconds');
3}, 2000);
- Ten kod wykonuje proces, który wyświetla wiadomość w konsoli po dwóch sekundach.
window.alert
/window.confirm
/window.prompt
alert
,confirm
iprompt
wyświetlają okna dialogowe do pokazywania ostrzeżeń lub proszenia użytkownika o dane wejściowe.
1window.alert('Alert message');
- Ten kod wyświetla okno alertu, aby powiadomić o wiadomości.
Zdarzenia obiektu window
Ponieważ window
jest częścią DOM, możesz bezpośrednio nasłuchiwać zdarzeń. W TypeScript typy są automatycznie uzupełniane, więc użycie błędnej nazwy zdarzenia lub właściwości spowoduje błąd.
Zdarzenie zmiany rozmiaru okna
1window.addEventListener("resize", (event) => {
2 console.log("Window resized:", window.innerWidth, window.innerHeight);
3});
- Ten kod wyświetla w konsoli nową szerokość i wysokość, gdy zmienia się rozmiar okna.
Zdarzenie klawiatury
1window.addEventListener("keydown", (event: KeyboardEvent) => {
2 console.log(`Key pressed: ${event.key}`);
3});
- Ten kod wyświetla w konsoli naciśnięty klawisz, gdy użytkownik go naciśnie.
Zdarzenie ładowania strony
1window.addEventListener("load", () => {
2 console.log("Page fully loaded");
3});
- Ten kod wyświetla wiadomość w konsoli po zakończeniu ładowania strony.
Notatki
-
W TypeScript typy obiektów zdarzeń są wywnioskowane, więc zwracanie uwagi na takie typy jak
KeyboardEvent
czyMouseEvent
czyni Twój kod bezpieczniejszym. -
Zaleca się usuwanie nasłuchiwaczy zdarzeń, gdy nie są już potrzebni. Możesz usunąć nasłuchiwacze za pomocą metody
window.removeEventListener
.
1function handleClick() {
2 console.log("Clicked!");
3}
4
5// Add event listener
6window.addEventListener("click", handleClick);
7
8// Remove event listener
9window.removeEventListener("click", handleClick);
- Ten kod pokazuje przykład dodania, a następnie usunięcia nasłuchiwacza zdarzenia kliknięcia.
Podczas dodawania niestandardowych właściwości
Podczas dodawania niestandardowych właściwości do obiektu window
konieczne jest rozszerzenie typu w TypeScript, aby uniknąć błędów typów.
1// Add a custom property to the window
2interface Window {
3 myCustomProperty: string;
4}
5
6window.myCustomProperty = "Hello, World!";
7console.log(window.myCustomProperty); // "Hello, World!"
- Ten kod jest przykładem dodania własnej właściwości do obiektu
window
w TypeScript, ustawienia jej wartości i wyświetlenia jej.
Ostrzeżenia przy korzystaniu z globalnego obiektu window
Ze względu na rygorystyczne sprawdzanie typów w TypeScript próba użycia nieistniejących właściwości lub metod spowoduje błędy. Na przykład próba dostępu do nieistniejącej właściwości obiektu window
w tej formie spowoduje błąd, więc musisz odpowiednio rozszerzyć typ.
W związku z tym obiekt window
odgrywa centralną rolę w dostępie do różnych funkcji aplikacji przeglądarkowych, a w TypeScript możesz używać go bezpiecznie, wykorzystując sprawdzanie typów.
Możesz śledzić ten artykuł, korzystając z Visual Studio Code na naszym kanale YouTube. Proszę również sprawdzić nasz kanał YouTube.