TypeScript and the Error: Cannot Redeclare Block Scoped Variable <Name>

Luiz Calaça - Feb 18 '22 - - Dev Community

Hi, Devs!

Who are getting start in Typescript could face this error: "Cannot Redeclare Block Scoped Variable Name" and it means a concept into that language.

Let's see an example:

Cannot Redeclare Block Scoped Variable Name

The error is coming because we have a TypeScript feature.

1 - The file needs to be declared as a module (exports) with its own scope.
2 - The script into file will be comprehended in a global scope.

The first example is the 2 option. So, how can we solve that? Let's see another example with the export:

export and create a scope module

Therefore, when we use the export it's created a module with its own scope and not shared in global scope.

Is there other possibility? Yes! Use namespace

namespace Greetings {
    function returnGreeting (greeting: string) {
        console.log(`The message from namespace Greetings is ${greeting}.`);
    }
}

Enter fullscreen mode Exit fullscreen mode

All the things into namespace it's out of global scope. You can put functions or classes into there.

Contacts
Email: luizcalaca@gmail.com
Instagram: https://www.instagram.com/luizcalaca
Linkedin: https://www.linkedin.com/in/luizcalaca/
Twitter: https://twitter.com/luizcalaca

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player