Unit 5. Волшебные методы get, set (геттеры и сеттеры). Понятие о приватных свойствах.

Домашнее задание

Загрузка ДЗ на проверку возможна только после приобретения курса.

Showing 1-6 of 6 items.
#Текст задачи
1

Создайте экземпляр класса Test. Присвойте через сеттер значение свойству testProp. Выведите в консоль созданный экземпляр. С помощью геттера получите значение свойства testProp. Выведите в консоль. Обратите внимание, что свойства testProp у нас нет. Есть приватное свойство _testProp, но используя геттер и сеттер мы для пользователя создаем видимость наличия свойства testProp.

2

Усложним конструкцию геттера и сеттера - изучим класс Test2 и геттер и сеттер. Обратите внимание на метод - setTestProp - он содержит тот же код, что и сеттер. Итак, мы добавили проверку. Давайте создадим экземпляр класса Test2 и используя сеттер передадим ему парамет строку 'bbb', причем сделаем это так:


const test2 = new Test2();
console.log(test2.testProp = 'bbb'); 
console.log(test2);
 

Изучите что возвратил сеттер - ожидаемо, согласно коду, возвратил введенное число, все работает так, как мы ожидаем.

Повторим те же действия с пустой строкой:


console.log(test2.testProp = ''); 
console.log(test2);
 

Как видите, мы не знаем, что произошло. Ожидали false, но не получили его. И значение testProp осталось прежнее. Т.е. ветка false просто не сработала. И применяя такой метод нужно быть осторожным, напрямую его в проверке (допустим засунуть в if ) использовать нельзя.

Повторим то же с нашим методом:


console.log(test2.setTestProp('')); 
console.log(test2);

Как видно, мы в явном виде получили false. Таким образом можно сделать вывод, что если не требуется делать проверок результат записи - то можно использовать сеттер, если нужно обрабатывать ввод и возвращать для проверки результат операции - то необходимо писать свой сеттер.

3

Выведите в консоль с помощью геттера значение testProp.

4

Задача доступна после приобретения курса

5

Задача доступна после приобретения курса

6

Задача доступна после приобретения курса

Следи за новостями курсов на нашем канале

Открыть

Правила оформления домашних заданий

Открыть

Форум по задачам

Forum