Переводчик 1/5

var translate = function(rusWord, dictionary) {
return rusWord + ’ по-английски: ’ + dictionary[rusWord];
}

моё
const translate = (a,b) => `${a} по-английски: ${b[a]}`;
2 Симпатий

Ты об этих функциях на learn.javascript.ru узнал?

Просто с твоими познаниями JS можно и без интенсивов на KWORK работать)))

У меня так же получилось. Только сначала немного затупил и задал rusWord[engWord]
)))

ну вообще сначала на форуме увидел, почитал про стрелочные функции - немного понял, потом уже понял лучше, когда в плановом порядке проходил

Я щас в объектах только самый первый вызов допер как делать и свою ошибку увидел.
Остальные пока пропускаю, хочу сам додумать и только после этого смотреть кто как решил.
Но вообще ничего не могу придумать.

1 Симпатия

мое -

Сводка
const translate = (string, daysOfWeek) => {
  const additionalWord = `по-английски`;
  return `${string.split(` `)[0]} ${additionalWord}: ${daysOfWeek[string.split(` `)[0]]}`;
};

это в курсе было?

Вы что тут все издеваетесь?
var translate= function(rusWord,dictionary){
return rusWord+’ по английски: '+daysOfWeek[rusWord]
не проходит проверку в задании! у нас второй параметр не задействован. Через стрелочные функции не интересно, кто знает как решить по курсу?

В функции должен использоваться не объект daysOfWeek, а параметр функции dictionary, чтобы она была универсальной. Также пропущен пробел в «по-английски», точка с запятой и закрывающая фигурная скобка в конце.

Подскажите,пожалуйста, что не так с кодом. А главное.Как его тестировать ?
var daysOfWeek = {
‘понедельник’: ‘monday’,
‘вторник’: ‘tuesday’,
‘среда’: ‘wednesday’,
‘четверг’: ‘thursday’,
‘пятница’: ‘friday’,
‘суббота’: ‘saturday’,
‘воскресенье’: ‘sunday’
};

var translate = function(rusWord, engWord){
var rusWord;
var translate = rusWord + ’ по-английски: ’ + daysOfWeek[rusWord];

return translate;

}

console.log( translate(‘понедельник’, daysOfWeek[‘понедельник’]) );
Консоль выводит верно,но тест не проходит. Не понятно какое имя у генерируемого объекта

Во-первых, в функции вам не нужно создавать дополнительную переменную var rusWord, потому что в данном случае var translate будет обращаться к ней, потому что видит её первой, а уже потом, если бы её не было, var translate обратится rusWord, что находится в аргументе функции. А так как этой переменной вы не присвоили какого-либо значения, то она всегда будет возвращать undefined. Вы можете либо вообще удалить эту строчку, либо написать так:

var rusWord = rusWord;

Во-вторых, когда вы пишите daysOfWeek[rusWord], вы обращаетесь к внешнему объекту daysOfWeek. Вместо этого, вам нужно было написать engWord[rusWord], поскольку каждый раз в функцию вторым аргументом вызывается новый объект с другим названием, отличным от daysOfWeek.

1 Симпатия

А я все никак к стрелочным толком не привыкну, как делаются то знаю, следовательно и код с ними читаю, но сам что то не использую, есть смысл целеноправленно переписывать обычные функции в стрелочные ? или 9/10 это синтаксический сахар ?

ну если функция простая, почему бы не сделать ее стрелочной =)
например, коллбеки в здравом уме пишут стрелочными практически всегда
(если это слово незнакомое, вы уже использовали коллбэк, когда задаете функцию поведения метода, для сортировки, например)

Да я с базой JS то вроде разобрался, не хватает практики, и “реальных” примеров, но я работаю над этим, кмк вопрос привычки эти функции. Сейчас воркшоп смотрю/прохожу, то там 90% стрелочными делают и я их тоже по аналогии леплю. Не могу понять насколько я лох, т.к. то что дают на воркшопе все знаю и как работает понимаю если не все, то 90% точно… Хотя это только 2 день из 4, мб дальше чего нового увижу. + одно дело знать и понимать, а другое применить. наверняка если бы стояла задача сделать то же самое то делал бы в 50% подругому да и не факт что мой вариант оказался бы рабочим, да и времени убил бы больше.