📖 Scenario: You are building a simple Deno script to explore some useful modules from the Deno standard library. This will help you understand how to import and use standard utilities for common tasks.
🎯 Goal: Create a Deno script that imports a few modules from the Deno standard library, sets up a configuration variable, uses a function from the library to process data, and finally exports a result.
📋 What You'll Learn
Import the colors module from the Deno standard library
Create a configuration variable called highlightColor with the value green
Use the green function from the colors module to color a text string
Export a function called getColoredMessage that returns the colored text
💡 Why This Matters
🌍 Real World
Deno's standard library provides ready-to-use utilities for common programming tasks, helping developers write clean and efficient code without extra dependencies.
💼 Career
Understanding how to use Deno's standard library is important for backend developers working with Deno, enabling them to build reliable and maintainable server-side applications.
Progress0 / 4 steps
1
Import the colors module
Write an import statement to import the green function from the URL https://deno.land/std@0.203.0/fmt/colors.ts.
Deno
Hint
Use the import keyword with curly braces to import green from the given URL.
2
Create a configuration variable
Create a constant variable called highlightColor and set it to the string green.
Deno
Hint
Use const to create a variable named highlightColor and assign it the string "green".
3
Use the green function to color text
Create a constant called message and set it to the result of calling the green function with the string "Hello from Deno!".
Deno
Hint
Call the green function with the exact string and assign the result to message.
4
Export a function returning the colored message
Write an exported function called getColoredMessage that returns the message constant.
Deno
Hint
Use export function getColoredMessage() and return the message constant inside it.
Practice
(1/5)
1. What is the main purpose of the Deno standard library?
easy
A. To provide ready-to-use modules for common programming tasks
B. To replace the Deno runtime environment
C. To serve as a database management system
D. To compile TypeScript code into JavaScript
Solution
Step 1: Understand the role of a standard library
A standard library offers pre-built tools and modules to simplify common programming tasks.
Step 2: Identify the Deno standard library's purpose
The Deno standard library provides modules for file handling, HTTP, dates, testing, and more, helping developers avoid writing everything from scratch.
Final Answer:
To provide ready-to-use modules for common programming tasks -> Option A
Quick Check:
Deno standard library = ready-to-use modules [OK]
Hint: Standard libraries offer common tools, not runtime or compilers [OK]
Common Mistakes:
Confusing the standard library with the runtime environment
Thinking it compiles code
Assuming it manages databases
2. Which is the correct way to import a module from the Deno standard library with versioning?
easy
A. import { serve } from "https://deno.land/std@0.200.0/http/server.ts";
B. import serve from "deno.land/std/http/server.ts";
C. import { serve } from "https://deno.land/std/http/server.ts";
D. import * as serve from "https://deno.land/std@latest/http/server.ts";
Solution
Step 1: Check the import URL format for Deno standard library
The URL must include the version number after @ to ensure stability, e.g., @0.200.0.
Step 2: Verify the import syntax
Correct syntax uses named imports with curly braces and a full URL including version.
Final Answer:
import { serve } from "https://deno.land/std@0.200.0/http/server.ts"; -> Option A
Quick Check:
Versioned URL + named import = import { serve } from "https://deno.land/std@0.200.0/http/server.ts"; [OK]
Hint: Always include @version in URL for stable imports [OK]
Common Mistakes:
Omitting the version number in the URL
Using incorrect import syntax without braces
Using 'latest' instead of a fixed version
3. What will the following code output?
import { format } from "https://deno.land/std@0.200.0/datetime/mod.ts";
const date = new Date("2024-06-15T12:00:00Z");
console.log(format(date, "yyyy-MM-dd"));
medium
A. 06-15-2024
B. 2024-06-15
C. 15-06-2024
D. 2024/06/15
Solution
Step 1: Understand the format function usage
The format function formats a Date object according to the pattern string provided.
Step 2: Analyze the pattern "yyyy-MM-dd"
"yyyy" means 4-digit year, "MM" means 2-digit month, "dd" means 2-digit day, separated by dashes.
Final Answer:
2024-06-15 -> Option B
Quick Check:
Date formatted as yyyy-MM-dd = 2024-06-15 [OK]
Hint: Match format pattern exactly to output date string [OK]
Common Mistakes:
Mixing day and month order
Using slashes instead of dashes
Ignoring the format string
4. Identify the error in this Deno standard library import:
import { assertEquals } from "https://deno.land/std/testing/asserts.ts";
assertEquals(1 + 1, 2);
medium
A. Incorrect import syntax, should use default import
B. assertEquals is not a valid function
C. Missing version number in the import URL
D. assertEquals requires async function
Solution
Step 1: Check the import URL for versioning
The URL lacks a version number after @, which is required for stable imports in Deno.
Step 2: Confirm the function and syntax
assertEquals is a valid named export and the import syntax is correct; no async needed here.
Final Answer:
Missing version number in the import URL -> Option C
Quick Check:
Version number missing in URL = Missing version number in the import URL [OK]
Hint: Always check for @version in import URLs [OK]
Common Mistakes:
Assuming assertEquals is invalid
Thinking default import is required
Believing assertEquals needs async
5. You want to create a simple HTTP server using Deno's standard library that responds with "Hello World". Which code snippet correctly uses the standard library's HTTP module with versioning?
hard
A. import { serve } from "https://deno.land/std@0.200.0/http/server.ts";
serve(() => Response.json({message: "Hello World"}));
B. import serve from "https://deno.land/std/http/server.ts";
serve(() => new Response("Hello World"));
C. import { serve } from "https://deno.land/std@0.200.0/http/server.ts";
serve(request => Response.text("Hello World"));
D. import { serve } from "https://deno.land/std@0.200.0/http/server.ts";
serve(() => new Response("Hello World"));
Solution
Step 1: Verify import URL and syntax
import { serve } from "https://deno.land/std@0.200.0/http/server.ts";
serve(() => new Response("Hello World")); correctly imports serve with a versioned URL and uses named import syntax.
Step 2: Check the serve function usage
serve expects a function returning a Response object; new Response("Hello World") is correct.
Step 3: Evaluate other options
import serve from "https://deno.land/std/http/server.ts";
serve(() => new Response("Hello World")); lacks versioning; import { serve } from "https://deno.land/std@0.200.0/http/server.ts";
serve(request => Response.text("Hello World")); uses incorrect Response method; import { serve } from "https://deno.land/std@0.200.0/http/server.ts";
serve(() => Response.json({message: "Hello World"})); returns JSON, not plain text.
Final Answer:
import { serve } from "https://deno.land/std@0.200.0/http/server.ts";
serve(() => new Response("Hello World")); -> Option D
Quick Check:
Versioned import + correct Response = import { serve } from "https://deno.land/std@0.200.0/http/server.ts";
serve(() => new Response("Hello World")); [OK]
Hint: Use versioned import and new Response("text") for HTTP server [OK]
Common Mistakes:
Omitting version number in import URL
Using incorrect Response methods
Wrong import syntax
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.