В Java, когда оператор «==» используется для сравнения двух объектов, он проверяет, ссылаются ли объекты на одно и то же место в памяти. Другими словами, он проверяет, являются ли имена двух объектов в основном ссылками на одно и то же место в памяти.
Класс Java String фактически переопределяет реализацию equals () по умолчанию в классе Object и переопределяет этот метод, чтобы он проверял только значения строк, а не их местоположения в памяти. Это означает, что если вы вызываете метод equals () для сравнения двух объектов String, то, пока действительная последовательность символов равна, оба объекта считаются равными.
Оператор
==
проверяет, являются ли две строки точно одним и тем же объектом.Метод
blockquote>.equals()
проверяет, имеют ли две строки одно и то же значение.
Вы можете указать возвращаемый тип, используя интерфейс, класс и т. д. Например, вы можете использовать что-то вроде следующего:
return this.http.get<Sidebar>('http://localhost:3000/sidebar/edit-sidebar');
В качестве примера можно определить боковую панель как:
interface Sidebar {
_id: string;
content: string;
}
См. . Выделение ответа из угловых документов для получения дополнительной информации:
... TypeScript правильно сообщит, что Объект, возвращающийся из HTTP, не имеет свойства результатов. Это связано с тем, что в то время как HttpClient проанализировал ответ JSON в Object, он не знает, какая форма этого объекта.
blockquote>
Попробуйте добавить боковую панель интерфейса к вашему методу подписки:
this.sidebarService.getSidebar().subscribe((sidebar: Sidebar) => {
this.sidebar = sidebar.content;
});
interface Sidebar {
_id?: string;
content?: string;
}
альтернативное решение:
this.sidebar = sidebar["content"];
, которое вернет значение в HttpClient, HttpClient автоматически проанализирует ответ JSON на объект, а форма этого объекта неизвестна, поэтому TypScript показывает эту ошибку
Вы можете назначить переменную (боковую панель) интерфейса для явного указания того, что она получит или назначит ей, чтобы она не выдавала ошибку времени компиляции.
this.sidebarService.getSidebar().subscribe((sidebar: any) => {
this.sidebar = sidebar.content;
});
<Type>
, то он принимает значениеany
как возвращаемый по умолчанию. – Ramesh Rajendran 9 November 2017 в 13:53