Основное отличие обычной функции от стрелочной, фактически в том, что у стрелочной функции есть неявный return. Если после " => " нет фигурных скобок, то функция вернет результат выполнения переданного кода, будь то console.log('smth') (вернет undefined) или, как в вашем случае, x * x вернёт результат умножения, так как операторы возвращают значения, и этот результат уже вернет функция. Конечно есть ещё не менее важные отличия(взаимодействия с this, инициализация и т.д.), подробнее можно прочитать банально на learn.js :
https://learn.javascript.ru/arrow-functions-basics
Так что насчёт "как читать стрелочные функции", вашу функцию можно прочитать как "принимает аргумент и неявно возвращает его квадрат"