Skip to content

Instantly share code, notes, and snippets.

@Toshakins
Created March 21, 2021 16:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Toshakins/867b9ccd02383896ac7b52484c0132ba to your computer and use it in GitHub Desktop.
Save Toshakins/867b9ccd02383896ac7b52484c0132ba to your computer and use it in GitHub Desktop.
домашка
// интро
// например есть
const example = {'question': 'anwer'}
let question;
// тогда можно написать expression
({question} = example);
console.log(question);
// круглые скобки нужны чтобы интерпретатор распознал деструктурирующее присваивание,
// иначе он думает что это новый блок кода
// задания
// нельзя объявлять новые переменные через let, const или var
// примеры с деструктурированием доступны тут
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#object_destructuring
// рекомендую просмотреть все доступные примеры перед тем
// как делать задания :)
//// задание 1
// сохранение в переменную отличную от ключа
const route = {'destination': 'unknown'}
let finalPoint;
// написать присваивание которое запишет пункт назначения в переменную finalPoint
//// задание 2
const obj = {'outer': {'inner': {'key': 'value'}}}
let key;
// написать деструктурирующее присваивание которое сделает key равным obj['outer']['inner']['key']
//// задание 3
const line1 = {'food': 'pizza', 'size': 'small'}
const line2 = {'food': 'pancake'}
function printLineSize(???) {
console.log(size)
}
// заменить вопросики в аргументах
// использовать деструтурирующее присваивание в аргументах чтобы установить значение по умолчанию,
// ниже пример работы
printLineSize(line1); // -> напечатает 'small'
printLineSize(line2); // -> напечатает 'big'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment