0
0
Typescriptprogramming~20 mins

Namespace declaration in Typescript - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Namespace Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of accessing nested namespace value
What is the output of this TypeScript code using namespaces?
Typescript
namespace Outer {
  export namespace Inner {
    export const value = 42;
  }
}
console.log(Outer.Inner.value);
A42
Bundefined
CReferenceError
Dnull
Attempts:
2 left
💡 Hint
Remember that exported members inside nested namespaces can be accessed using dot notation.
🧠 Conceptual
intermediate
1:30remaining
Purpose of 'export' keyword in namespaces
In TypeScript namespaces, what does the 'export' keyword do?
ADeletes the member after compilation
BMakes the member accessible outside the namespace
CAutomatically imports the member into other namespaces
DPrevents the member from being accessed outside the namespace
Attempts:
2 left
💡 Hint
Think about how you can use a variable or function declared inside a namespace from outside it.
🔧 Debug
advanced
2:00remaining
Identify the error in namespace usage
What error will this TypeScript code produce?
Typescript
namespace MySpace {
  const secret = 'hidden';
}
console.log(MySpace.secret);
AProperty 'secret' does not exist on type 'typeof MySpace'.
BReferenceError: secret is not defined
CSyntaxError: Unexpected token
DNo error, outputs 'hidden'
Attempts:
2 left
💡 Hint
Check if the member is exported to be accessible outside the namespace.
📝 Syntax
advanced
2:00remaining
Correct syntax to declare a namespace with a function
Which option correctly declares a namespace with an exported function named greet?
Anamespace GreetSpace { export greet() { return 'Hello'; } }
Bnamespace GreetSpace { function greet() { return 'Hello'; } }
Cnamespace GreetSpace { export function greet() { return 'Hello'; } }
Dnamespace GreetSpace { export const greet = () => 'Hello'; }
Attempts:
2 left
💡 Hint
Remember the correct syntax for exporting a function inside a namespace.
🚀 Application
expert
2:30remaining
Number of accessible members after merging namespaces
Given these two namespace declarations, how many members are accessible from outside under the merged namespace 'Tools'?
Typescript
namespace Tools {
  export function toolA() { return 'A'; }
}
namespace Tools {
  export function toolB() { return 'B'; }
  function hiddenTool() { return 'hidden'; }
}
// Outside the namespace
const count = Object.keys(Tools).length;
A0
B3
C1
D2
Attempts:
2 left
💡 Hint
Only exported members are accessible outside. Hidden functions are not counted.