Should I commit the yarn.lock file and what is it for?

Yarn creates a yarn.lock file after you perform a yarn install. Should this be committed to the repository or ignored? What is it for?