So the User does not have to distinguish between function and class object calls. The User only has to make a call with some parameters. For a constructor, a Class object acts as a function that create a new object. No Type for Variables Variables have no type and do not have to be declared. There are two types of scope, function scope and block scope.
Function calls make the function scope.
Basically the variable's scope is the surrounding scope. Reference resolution is made from the innermost scope to the surrounding function scope. Packages Packages provide naming scopes. Every functions and variables belongs to a package. Packages allow us to define function and variable without worrying about conflicts.