Я скомпилировал JSX для JavaScript с помощью Babel-компилятора. Вот фрагмент кода, в котором я заинтригован.Разница между анонимной функцией и именованной функцией как значением для ключа объекта
getInitialState: function getInitialState() {
//List out different states that ListComponent could possibly have
return {
showList: true,
listType: this.props.type
После компиляции JSX к JS, getInitialState является метод назван getInitialState(). Я не мог понять, почему это не анонимный метод.
Оригинальный код:
getInitialState: function() {
//List out different states that ListComponent could possibly have
return {
showList: true,
listType: this.props.type
Есть ли какие-либо преимущества производительности писать, как это?
В прошлом это сделало отладку легче. Теперь отладчики достаточно интеллектуальны, чтобы вывести имя, см. Http: // astithas.com/talk/qconsf2013/#/18/2 – Oriol
@Oriol это все же лучше, чем просмотр функций, называемых анонимными во всей трассировке стека. : P – toskv
@Oriol это (несколько) важно для рекурсивных функций или функций, которые в противном случае нуждаются в внутреннем связанном идентификаторе, чтобы ссылаться на себя. – Pointy