Bird
Raised Fist0
Denoframework~15 mins

TypeScript support out of the box in Deno - Mini Project: Build & Apply

Choose your learning style10 modes available
TypeScript Support Out of the Box with Deno
📖 Scenario: You are building a simple Deno script that uses TypeScript without any extra setup. Deno supports TypeScript natively, so you can write typed code directly.
🎯 Goal: Create a TypeScript file in Deno that defines a typed variable, uses a typed function, and runs without additional configuration.
📋 What You'll Learn
Create a typed variable called greeting of type string with the value 'Hello, Deno!'
Create a function called shout that takes a message parameter of type string and returns the message in uppercase
Call the shout function with greeting and assign the result to a variable called loudGreeting
Export the loudGreeting variable
💡 Why This Matters
🌍 Real World
Deno is a modern runtime that lets you write TypeScript code directly without configuring compilers. This project shows how to write and export typed code simply.
💼 Career
Many modern backend and scripting jobs use Deno or TypeScript. Knowing how to write and export typed code in Deno is a valuable skill.
Progress0 / 4 steps
1
Create a typed string variable
Create a variable called greeting of type string and set it to the value 'Hello, Deno!'.
Deno
Hint

Use const greeting: string = 'Hello, Deno!'; to declare a typed string variable.

2
Create a typed function
Create a function called shout that takes a parameter message of type string and returns a string. The function should return the uppercase version of message.
Deno
Hint

Define function shout(message: string): string and use message.toUpperCase() inside.

3
Call the function and assign the result
Call the shout function with the variable greeting and assign the result to a new variable called loudGreeting.
Deno
Hint

Use const loudGreeting: string = shout(greeting); to call the function and store the result.

4
Export the result variable
Export the variable loudGreeting so it can be used in other modules.
Deno
Hint

Add export { loudGreeting }; at the end to export the variable.

Practice

(1/5)
1. What is a key feature of Deno regarding TypeScript support?
easy
A. Deno does not support TypeScript at all.
B. Deno requires manual compilation of TypeScript before running.
C. Deno runs TypeScript files directly without extra setup.
D. Deno only supports JavaScript, not TypeScript.

Solution

  1. Step 1: Understand Deno's TypeScript handling

    Deno is designed to run TypeScript files directly without needing a separate compilation step.
  2. Step 2: Compare options with this feature

    Only Deno runs TypeScript files directly without extra setup. correctly states this direct support; others contradict this fact.
  3. Final Answer:

    Deno runs TypeScript files directly without extra setup. -> Option C
  4. Quick Check:

    Direct TypeScript execution = A [OK]
Hint: Remember: Deno runs TS files without compiling first [OK]
Common Mistakes:
  • Thinking Deno needs manual TypeScript compilation
  • Believing Deno only supports JavaScript
  • Confusing Deno with Node.js setup
2. Which of the following is the correct way to run a TypeScript file named app.ts using Deno?
easy
A. deno compile app.ts
B. tsc app.ts && deno run app.js
C. node app.ts
D. deno run app.ts

Solution

  1. Step 1: Identify Deno command to run TS files

    Deno uses deno run to execute TypeScript files directly.
  2. Step 2: Evaluate other options

    deno compile app.ts compiles but does not run; tsc app.ts && deno run app.js compiles manually then runs JS, which is unnecessary; node app.ts uses Node.js which can't run TS directly.
  3. Final Answer:

    deno run app.ts -> Option D
  4. Quick Check:

    Run TS file with 'deno run' = C [OK]
Hint: Use 'deno run' to execute TypeScript files directly [OK]
Common Mistakes:
  • Trying to compile TS manually before running
  • Using Node.js command for TS files
  • Confusing compile and run commands
3. Given this TypeScript code run with Deno:
function greet(name: string) {
  return `Hello, ${name}!`;
}
console.log(greet(42));

What will happen when you run deno run on this file?
medium
A. It throws a type error before running
B. It prints 'Hello, 42!'
C. It prints 'Hello, undefined!'
D. It runs but logs 'Hello, 42!' with a warning

Solution

  1. Step 1: Analyze TypeScript type checking

    The function expects a string, but 42 is a number, causing a type error.
  2. Step 2: Understand Deno's behavior

    Deno checks types before running and will throw an error, stopping execution.
  3. Final Answer:

    It throws a type error before running -> Option A
  4. Quick Check:

    Type mismatch causes error = A [OK]
Hint: Type errors stop Deno before running code [OK]
Common Mistakes:
  • Assuming Deno runs code ignoring type errors
  • Thinking it prints with warnings
  • Confusing runtime errors with type errors
4. You wrote this TypeScript code:
const add = (a: number, b: number) => a + b;
console.log(add('5', 10));

When running with Deno, you get an error. What is the best fix?
medium
A. Remove type annotations from the function.
B. Change '5' to 5 (number) in the function call.
C. Run with Node.js instead of Deno.
D. Ignore the error and run anyway.

Solution

  1. Step 1: Identify the type mismatch

    The function expects numbers, but '5' is a string, causing a type error.
  2. Step 2: Fix the argument type

    Changing '5' (string) to 5 (number) matches the expected types and fixes the error.
  3. Final Answer:

    Change '5' to 5 (number) in the function call. -> Option B
  4. Quick Check:

    Correct argument types fix errors = B [OK]
Hint: Match argument types to function parameters [OK]
Common Mistakes:
  • Removing types loses safety
  • Trying to run with Node.js without compiling
  • Ignoring errors instead of fixing types
5. You want to write a Deno script that reads a JSON file and ensures the data matches a TypeScript interface before processing. Which approach best uses Deno's TypeScript support out of the box?
hard
A. Define the interface, read the file, parse JSON, and use a type assertion to check the data.
B. Write JavaScript code and manually check types at runtime with if statements.
C. Compile the TypeScript to JavaScript first, then run with Deno.
D. Use a third-party tool to convert JSON to TypeScript types before running.

Solution

  1. Step 1: Use TypeScript interface for type safety

    Defining an interface helps TypeScript check data structure during development.
  2. Step 2: Read and parse JSON, then assert type

    Parsing JSON and using a type assertion leverages Deno's built-in TypeScript support to catch errors early.
  3. Final Answer:

    Define the interface, read the file, parse JSON, and use a type assertion to check the data. -> Option A
  4. Quick Check:

    Use interfaces and assertions for type safety = D [OK]
Hint: Use interfaces and type assertions with Deno's TS support [OK]
Common Mistakes:
  • Ignoring TypeScript interfaces and relying on runtime checks
  • Compiling manually before running with Deno
  • Overcomplicating with external tools unnecessarily
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard