@Kalerss

Как сделать возврат пустого объекта при вызове с аргументом null?

Всем здравствуйте, надо было создать аналог функции Object.create. Написал, на что мозгов хватило, сейчас никак не могу додуматься, как исправить единственную ошибку в тесте: "должен возвращать пустой объект при вызове с аргументом null".
Object.create = function(proto, propertiesObject) {
        let result = {};
        if (proto !== Object(proto) && proto !== null) {
            throw new TypeError('');
        }
        if (proto === null) {
            return result;
        }
         result = Object.setPrototypeOf({}, proto);
        if (propertiesObject !== undefined) {
            Object.defineProperties(result, propertiesObject);
        }
        return result;
};
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Kalerss Автор вопроса
Решил так:
Object.create = function(proto, propertiesObject) {
    let result = {};
    let empty = {};
    empty.__proto__ = null;
    if (proto !== Object(proto) && proto !== null) {
         throw new TypeError('');
    }
    if (proto == null) {
        return empty;
    }
        result = Object.setPrototypeOf({}, proto);
    if (propertiesObject !== undefined) {
        Object.defineProperties(result, propertiesObject);
    }
    return result;
};
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы