We'll have to wait until the year-by-year numbers come out, but he would have been arbitration for the first time next year. So he will likely be making $30M per year the last 2 or 3 years which isn't much of a bargain. And when it's up, he'll only be 29. Assuming he stays healthy and on this same track, he could be making $35M-40M per.
It's a fair deal. For the Angels, it's a steal to lock down someone that young for that long. If they waited longer and he had another MVP-caliber season then forget it - he'd be commanding contracts from the stratosphere.
Now, 2015 would have been his first year of arbitration, $6M is actually pretty modest. Posey received an $8M contract his first year. Ryan Howard has the record at $10M for a first year arbitration salary.
Come 2016, things change. $10M is a HUGE raise for a second year arbitration eligible player, and $16M is the record for a second year arb.
2017 the trend continues, though not as severely. Him reaching $20M for a 3rd year arb. is still very impressive, hasn't been done before.
Finally, by 2018, Trout will be the highest paid player in baseball by $1M (Kershaw) until his contract expires, assuming no one signs a bigger deal until that time. I can't think of anyone, outside of one player, who would though. Kershaw has an opt-out clause after the 2018 season. If he is still pitching at this level come that time, he will likely opt-out and force the Dodgers to make him the highest paid player ever. That is, until Trout passes him again in 2021.
This deal isn't exactly team friendly, but the Angels had to do it. If they went year-to-year with him in arbitration, Trout may have earned a little more (certainly in the first year), but he's still setting records with the amount they have to pay him based on service time. Then after he's past his arbitration process, he's the highest paid player in baseball. Not very team friendly, except for the fact that the Angels locked up the best young player in baseball for 3 extra years.