The answers that display merged declarations are for representational purposes alone. TypeScript compiler doesn't actually perform physical merges, but rather a logical merge from the multiple same named declarations. Let's take a look at the following answers now:
- Take a look at the following code snippet for answer 3.3.1:
interface TreeNode { data: number; left: TreeNode; right: TreeNode; createNode: (data: number) => TreeNode; } interface ITreeOperations {// root: TreeNode; // error: same name member declarations cannot merge mirrorTree: (node: TreeNode) => TreeNode; putRoot(nodeValue: number): void; getRoot(): TreeNode; traverseTree: (node: TreeNode) => void; putRoot(node: TreeNode): void; getRoot(): TreeNode; }
- Take a look at the following code snippet for answer 3.3.2:
namespace...