Why do roses have thorns?

First of all, roses have thorns to keep moisture. Generally, when there is a drought, their thorns will provide some water to help the roses get through the dangerous period. Secondly, in order to protect ourselves from external harm, because the fragrance of roses is very rich, it often attracts some birds or insects to eat, so its thorns can avoid some birds' attacks.