...
Being a dynamic language has its positives and negatives. It usually results in less and simpler code. But if we make a mistake and pass a number to a function which is expecting a string then we will only hear about the problem when the code is running with it either reporting an error or just mis-functioning.
You can read more about dynamic languages in Wikipedia: https://en.wikipedia.org/wiki/Dynamic_programming_language