diff --git a/docs/src/library-js.md b/docs/src/library-js.md
index 9085290bba..46eadfced4 100644
--- a/docs/src/library-js.md
+++ b/docs/src/library-js.md
@@ -105,6 +105,7 @@ The key differences to note are as follows:
| `import` from | `playwright` | `@playwright/test` |
| Initialization | Explicitly need to:
- Pick a browser to use, e.g. `chromium`
- Launch browser with [`method: BrowserType.launch`]
- Create a context with [`method: Browser.newContext`], and pass any context options explicitly, e.g. `devices['iPhone 11']`
- Create a page with [`method: BrowserContext.newPage`]
| An isolated `page` and `context` are provided to each test out-of the box, along with other [built-in fixtures](./test-fixtures.md#built-in-fixtures). No explicit creation. If referenced by the test in its arguments, the Test Runner will create them for the test. (i.e. lazy-initialization) |
| Assertions | No built-in Web-First Assertions | [Web-First assertions](./test-assertions.md) like: - [`method: PageAssertions.toHaveTitle`]
- [`method: PageAssertions.toHaveScreenshot#1`]
which auto-wait and retry for the condition to be met.|
+| Timeouts | Defaults to 30s for most operations. | Most operations don't time out, but every test has a timeout that makes it fail (30s by default). |
| Cleanup | Explicitly need to: - Close context with [`method: BrowserContext.close`]
- Close browser with [`method: Browser.close`]
| No explicit close of [built-in fixtures](./test-fixtures.md#built-in-fixtures); the Test Runner will take care of it.
| Running | When using the Library, you run the code as a node script, possibly with some compilation first. | When using the Test Runner, you use the `npx playwright test` command. Along with your [config](./test-configuration.md), the Test Runner handles any compilation and choosing what to run and how to run it. |