Bird
Raised Fist0
Denoframework~30 mins

Why Deno was created to fix Node.js mistakes - See It in Action

Choose your learning style10 modes available
Why Deno was created to fix Node.js mistakes
📖 Scenario: You are learning about modern JavaScript runtimes. Node.js was popular but had some issues. Deno was created to fix those problems and improve the developer experience.
🎯 Goal: Build a simple Deno script that shows how Deno improves on Node.js by using secure permissions and modern module imports.
📋 What You'll Learn
Create a Deno script with a list of URLs to fetch data from
Add a configuration variable to control if the script runs in secure mode
Use a loop to fetch data from each URL using Deno's fetch API
Add a final line to print a message about permission usage
💡 Why This Matters
🌍 Real World
Deno was created to fix Node.js issues like security and module management. This project shows how Deno scripts use secure permissions and modern JavaScript features.
💼 Career
Understanding Deno helps developers write safer, modern server-side JavaScript. Many companies look for skills in new runtimes that improve developer experience and security.
Progress0 / 4 steps
1
DATA SETUP: Create a list of URLs
Create a variable called urls that is an array containing these exact strings: "https://deno.land", "https://nodejs.org", and "https://example.com".
Deno
Hint

Use const to declare an array named urls with the exact URLs as strings.

2
CONFIGURATION: Add a secure mode flag
Create a boolean variable called secureMode and set it to true to represent running the script with secure permissions.
Deno
Hint

Use const to declare secureMode and assign it the value true.

3
CORE LOGIC: Fetch data from each URL
Use a for loop with variable url to iterate over urls. Inside the loop, use await fetch(url) to get the response and store it in a variable called response.
Deno
Hint

Use for (const url of urls) and inside it use const response = await fetch(url).

4
COMPLETION: Print permission usage message
Add a line after the loop that uses console.log to print the exact message: "Running in secure mode: true" using the secureMode variable.
Deno
Hint

Use console.log with a template string to show the message including secureMode.

Practice

(1/5)
1. Why was Deno created as an improvement over Node.js?
easy
A. To make Node.js run faster without changes
B. To add support for older JavaScript versions
C. To fix security issues and simplify development
D. To remove TypeScript support completely

Solution

  1. Step 1: Understand Node.js limitations

    Node.js had security risks and complex setup issues that developers faced.
  2. Step 2: Identify Deno's goals

    Deno was designed to improve security and simplify the developer experience by default.
  3. Final Answer:

    To fix security issues and simplify development -> Option C
  4. Quick Check:

    Security and simplicity [OK]
Hint: Focus on security and simplicity as main goals [OK]
Common Mistakes:
  • Thinking Deno removes TypeScript support
  • Assuming Deno only speeds up Node.js
  • Believing Deno targets older JavaScript versions
2. Which of the following is the correct way to run a TypeScript file in Deno?
easy
A. deno run myfile.ts
B. node myfile.ts
C. deno compile myfile.js
D. node run myfile.js

Solution

  1. Step 1: Recall Deno's command for running scripts

    Deno runs TypeScript files directly using the command deno run filename.ts.
  2. Step 2: Check other options

    Node.js cannot run TypeScript files without compilation. deno compile myfile.js is for compiling, not running.
  3. Final Answer:

    deno run myfile.ts -> Option A
  4. Quick Check:

    Deno runs TS files with 'deno run' [OK]
Hint: Remember: Deno runs TS files directly with 'deno run' [OK]
Common Mistakes:
  • Using Node.js commands for TypeScript files
  • Confusing compile and run commands
  • Trying to run JavaScript files with Deno compile
3. What will be the output of this Deno script?
console.log(Deno.args.length);

when run with deno run script.ts one two?
medium
A. 0
B. undefined
C. 1
D. 2

Solution

  1. Step 1: Understand Deno.args

    Deno.args is an array of command-line arguments passed after the script name.
  2. Step 2: Count the arguments passed

    Running deno run script.ts one two passes two arguments: 'one' and 'two'.
  3. Final Answer:

    2 -> Option D
  4. Quick Check:

    Arguments count = 2 [OK]
Hint: Count arguments after script name in command line [OK]
Common Mistakes:
  • Counting script name as argument
  • Assuming no arguments passed
  • Confusing Deno.args with process.argv
4. Identify the error in this Deno script:
import { serve } from "https://deno.land/std/http/server.ts";

serve(() => new Response("Hello"));
medium
A. serve function requires a port number argument
B. Missing permission flag to allow network access
C. Incorrect import URL for Deno standard library
D. Response constructor is not valid in Deno

Solution

  1. Step 1: Check Deno's security model

    Deno requires explicit permission flags for network access when running scripts.
  2. Step 2: Analyze the script's network usage

    The script uses serve to start a server, which needs network permission.
  3. Final Answer:

    Missing permission flag to allow network access -> Option B
  4. Quick Check:

    Network access needs permission flag [OK]
Hint: Remember to add --allow-net for network scripts [OK]
Common Mistakes:
  • Assuming serve needs a port argument
  • Thinking import URL is incorrect
  • Believing Response is invalid in Deno
5. How does Deno improve security compared to Node.js when running scripts?
hard
A. By requiring explicit permission flags for file, network, and environment access
B. By disabling all network access permanently
C. By automatically sandboxing scripts without user control
D. By running scripts only in a browser environment

Solution

  1. Step 1: Understand Node.js security model

    Node.js allows scripts to access files, network, and environment without restrictions by default.
  2. Step 2: Identify Deno's security approach

    Deno requires users to explicitly grant permissions like --allow-net or --allow-read to scripts.
  3. Final Answer:

    By requiring explicit permission flags for file, network, and environment access -> Option A
  4. Quick Check:

    Explicit permission flags [OK]
Hint: Deno needs explicit permission flags for sensitive access [OK]
Common Mistakes:
  • Thinking Deno disables network permanently
  • Believing Deno auto-sandboxes without user input
  • Assuming Deno runs scripts only in browsers
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