Bird
Raised Fist0
Denoframework~10 mins

Why Deno was created to fix Node.js mistakes - Test Your Understanding

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to import a module in Deno.

Deno
import { serve } from "https://deno.land/std/http/server.ts"[1]
Drag options to blanks, or click blank then click option'
A,
B;
C.
D:
Attempts:
3 left
💡 Hint
Common Mistakes
Using a comma or period instead of a semicolon at the end of the import.
2fill in blank
medium

Complete the code to run a simple HTTP server in Deno.

Deno
const server = serve({ port: [1] });
Drag options to blanks, or click blank then click option'
A8080
B"8080"
Cport
Dserver
Attempts:
3 left
💡 Hint
Common Mistakes
Putting the port number in quotes, making it a string.
Using variable names instead of a number.
3fill in blank
hard

Fix the error in the Deno permission request code.

Deno
const status = await Deno.permissions.[1]({ name: "read" });
Drag options to blanks, or click blank then click option'
Acheck
Ballow
Cgrant
Drequest
Attempts:
3 left
💡 Hint
Common Mistakes
Using request instead of check causes the code to ask for permission instead of checking.
4fill in blank
hard

Fill both blanks to create a secure file read in Deno.

Deno
if (await Deno.permissions.[1]({ name: "read", path: "./data.txt" }).state === "granted") {
  const data = await Deno.[2]("./data.txt", { encoding: "utf-8" });
}
Drag options to blanks, or click blank then click option'
Aquery
BreadTextFile
Ccheck
DwriteFile
Attempts:
3 left
💡 Hint
Common Mistakes
Using query instead of check for permissions.
Using writeFile instead of readTextFile to read files.
5fill in blank
hard

Fill all three blanks to create a Deno script that fetches JSON data securely.

Deno
const response = await fetch("https://api.example.com/data");
if (response.status === [1]) {
  const json = await response.[2]();
  console.[3](json);
}
Drag options to blanks, or click blank then click option'
Ajson
B200
Clog
Dtext
Attempts:
3 left
💡 Hint
Common Mistakes
Checking for status 404 or other codes instead of 200.
Using text() instead of json() to parse response.
Using console.error instead of console.log to print.

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