Determining the type of a variable from the type of the value that is assigned to it is a form of type inference.
In dynamically typed languages, variables usually don't have types, only values have types. In statically typed languages, variables do have types. Most modern statically typed general purpose languages have a form of type inference that can at least infer the type of a variable from the type of what is assigned to it.
Type inference can infer types in other circumstances. The power of type inference depends on the language: full type inference limits the expressive power of the language, as there are many useful typed languages where full type inference is undecidable, but type verification is easy. Different languages make different compromises on automatic inference vs expressiveness.