С flowtype
мы предпочитаем const
против let
Можем ли мы использовать `const` вместо` let` всюду?
У меня есть функция, которая должна быть разработана в наиболее производительным способом, и это хорошо работает для меня, это сравнить два массива, так что это круто пример моего вопроса:
/**
* @function compare
* @description function compares two arrays with ids to figure out: are they equal? (elements position can be different)
* @param arraFrom {Array}
* @param arraTo {Array}
* @param compareFunction {Function}
* @returns {Boolean}
*/
function compare(arraFrom, arraTo, compareFunction) {
let notEqual = true;
if(arraFrom.length !== arraTo.length) return false;
for (let i = 0; i < arraFrom.length; i++) {
notEqual = true;
for (let j = 0; j < arraTo.length; j++) {
if (compareFunction ?
compareFunction(arraFrom[i], arraTo[j]) :
arraFrom[i] === arraTo[j]) {
notEqual = false;
break;
}
}
if (notEqual) return false;
}
return true;
}
Вопрос: как мы можем реализовать его, не используя let
наиболее эффективным образом?
Спасибо!
Остановитесь и подумайте немного о том, что означает 'const'. Это аббревиатура * constant *. Как будет иметь переменную * constant * (как бы озонороническую, которая может звучать) в вашем коде, если вы хотите изменить ее значение? –
Этот вопрос выглядит как запрос «пожалуйста, переписывайте мой код», скрытый под видом интересного вопроса. – evolutionxbox
Ни один из ваших 'let''s не может быть заменен на' const', поскольку все они меняются. 'const' предназначен для постоянных переменных и доступен только для чтения –