A friend of mine made a gun script, In his line of code I noticed that one of the variables doesn't have a value assigned to it (Character)
local Player = Players.LocalPlayer
local Character
local Mouse = Player:GetMouse()
The script works, there's no doubt about that, but why? What does the character variable equal, and if it doesn't equal anything, why put it there in the first place?

2 comments
you can assign a value to a variable later on
So why didn't that person just declare the variable later on?