For example we have a class person, who has a passport number field. Which type is better to use. In case it is a number, which is significantly big, but we do not need to perform any calculations with it, so we probably can use it with a string? And why?
A passport number is an identifier, not a number. I don't know if it's actually done, but consider cases with leading zeroes, or if we run out of numbers and start prefixing with letters, etc. You should absolutely use a non-numeric type such as string.