A form field usually arrives as text. Adding that text to a number can concatenate characters instead of adding quantities. Decide where conversion belongs, and make it visible. Number converts the whole string; parseInt stops at the integer part. Neither choice proves that a blank field was intended to mean zero. Equality needs the same care. Strict equality compares without converting types, so a numeric identifier and its string lookalike remain distinct. You will also separate a missing value from a deliberately empty one. A default should follow the data contract, because a broad truthiness check can replace a valid zero or empty label.