What is the difference between 'two years old' and 'two-year-old'?
Are they the same or not?
What is the function of using dash in this phrase: 'two-year-old'?
When we use dash we cannot say 'years' why? What's the reason for that?
They are not quite the same, but they are similar.
Two-year-old is an adjective. You can say, two-year-old girl, or two-year-old cat, or two-year-old child. Sometimes, two-year-old is used as a noun on its own, and it that case ("My two-year-old", say), child is usually implied, although it could refer to an animal if the context is clear. It's a compound adjective, with dashes to make it clear it is all one phrase, and it is usually pronounced with the words run together. You might see it without the dashes, and it is usually clear what is meant.
You can't say "My daughter is two-year-old". In that case you say "My daughter is two years old".
I think the reason why it's year, when with dashes, is because the words are run together, and years would be hard to say.
Some adjectives can only be used to modify nouns, for example the adjective indoor. We can talk about:
But we don't usually say:
We call adjectives that appear before nouns attributive adjectives. The adjective indoor is called an attributive only adjective.
Other adjectives can't usually be used before a noun. We usually find these adjectives as the complements of verbs like BE, FEEL or BECOME. So we can say
But we cannot say:
Adjectives that we use like this are called predicative adjectives. The adjective afraid is a predicative only adjective.
We can use most adjectives as attributive adjective and predicative adjectives:
Sometimes we have two adjectives that look similar and mean the same thing. One of them is attributive only, and the other predicative only. For example, the adjectives live and alive. When these words are used to describe things that aren't dead, we use live as an attributive adjective and alive as a predicative adjective:
The term two-year old is used as an attributive only adjective phrase:
The term two years old is used as a predicative only adjective phrase:
We can also use the term two year old as a nominal phrase. We can use it like a noun.:
Notice that we use the attributive adjective here because we mean: a two year old child.
Hope this is helpful!
While "two-year-old" and "two years old" are similar, there is a distinct difference beyond the "s" in that the first is an identifying number or categorizing using numbers and the other is about ordering or measuring.
The distinction is similar to being numbered as a runner versus placing in a race. The placing of runners as they finish a race is an order, like "first" and "second" compared to simply the identifying of runners using numbers. "There were 12 runners and my shirt had number 2, but I was number 2 in the race because I finished in second place!"
Usually people will refer to their "two-year-old" if they have more than one child, as a means of identifying the child rather than simply stating the child's age. It then indicates the "category" of the child, not as much the age.
There are similar phrases, such as "To work, the nail must be two inches long" (measure) vs "Please hand me that two-inch-long nail" (identifier). Or "My son has grown, he must be five feet tall by now" (measure) vs "look at that five-foot-tall person" (identifier). In each of these, the first example counts the amount or is a measure (like runners finishing a race), the second example it is about identifiers/categories (like the numbers on a runner's shirt).
Hyphens are optional.