Hyphen is used to construct one word from two or more. Suppose we have two adj. words for one nun., it’s better to connect the two adj. with hyphen, e.g., high-energy physics.
En dash has the same width with “n”.
En dash means “to”, e.g., We beat them 3–0. Here “–” is en dash and it’s different from hyphen “-“. We can compare them: “–-“ (“en dash hyphen”). On Mac, we press Option + - to get en dash.
En dash indicates the same type. “Mother–daughter relationship” requires an en dash not hyphen since “mother” and “daughter” are of the same type.
En dash is also used when we think hyphen is too short. “Pre–World War II” requires an en dash since “World War II” itself tells one story.
Do not use en dash if the following word is already hyphenated. “post-MS-DOS” are all hyphens.
En dash can be used to replace parenthesis. In this usage, space is required on both sides. “I have built many houses – such as the one Polly has – in the past ten years.”
Em dash has the same width with “m”.
Em dash can be used to indicate the person has been interrupted. “I will not be—” Here em dash has been used. Compare “—–-“ (“em dash en dash hyphen”).
Em dash can be used to replace parenthesis, but without space inserted on both sides. “I have built many houses—such as the one Polly has—in the past ten years.”