mirror of
https://github.com/alrayyes/wiki.git
synced 2024-12-01 23:36:22 +00:00
49 lines
1.4 KiB
Markdown
49 lines
1.4 KiB
Markdown
|
---
|
||
|
id: afc1ca85-af24-4ef6-bcd8-91193c4fbd32
|
||
|
title: lib.d.ts
|
||
|
---
|
||
|
|
||
|
# Introduction
|
||
|
|
||
|
This is where TypeScript "cheats" and ships with a file called
|
||
|
[lib.d.ts](https://github.com/microsoft/TypeScript/blob/master/lib/lib.d.ts).
|
||
|
This file contains ambient declarations for a whole bunch of common
|
||
|
[JavaScript](20200613170905-javascript) constructs present in JavaScript
|
||
|
runtimes and the DOM.
|
||
|
|
||
|
- This file is automatically included in the compilation context of a
|
||
|
TypeScript project.
|
||
|
- The objective of this file is to make it easy for you to start
|
||
|
writing type checked JavaScript code.
|
||
|
|
||
|
# Modifying Native Types
|
||
|
|
||
|
If you want to be a clever clogs you can add stuff to the interfaces in
|
||
|
lib.d.ts by creating a global module (ie: `global.d.ts`)
|
||
|
|
||
|
# Example
|
||
|
|
||
|
## lib.d.ts magic
|
||
|
|
||
|
The following code is only possible because of lib.d.ts. If it's used
|
||
|
with the `nolib` option, TypeScript doesn't know that all JavaScript
|
||
|
objects have a `toString` function.
|
||
|
|
||
|
var foo = 123;
|
||
|
var bar = foo.toString();
|
||
|
|
||
|
## Example of what's in the lib.d.ts
|
||
|
|
||
|
``` typescript
|
||
|
declare var window: Window;
|
||
|
|
||
|
interface Window extends EventTarget, WindowTimers, WindowSessionStorage, WindowLocalStorage, WindowConsole, GlobalEventHandlers, IDBEnvironment, WindowBase64 {
|
||
|
animationStartTime: number;
|
||
|
applicationCache: ApplicationCache;
|
||
|
clientInformation: Navigator;
|
||
|
closed: boolean;
|
||
|
crypto: Crypto;
|
||
|
// so on and so forth...
|
||
|
}
|
||
|
```
|