let diff = (new Date('01 Dec 2022') - new Date()) / 1000;
const seconds = diff % 60;
diff = (diff - seconds) / 60;
const minutes = diff % 60;
diff = (diff - minutes) / 60;
const hours = diff % 24;
const days = (diff - hours) / 24;
console.log(days, hours, minutes, seconds);
// 587 6 30 21.51799999922514
document
.getElementsByTagName('iframe')[0]
.contentWindow
.document
.getElementsByTagName('iframe')[0]
.contentWindow
.document
.getElementsByClassName('it_this')[0]
Обратите внимание, что JavaScript различает объекты String и значения строкового примитива (то же самое верно и для объектов Boolean и Number).
Строковые литералы (обозначаемые двойными или одинарными кавычками) и строки, возвращённые вызовом String в неконструкторном контексте (то есть, без использования ключевого слова new) являются строковыми примитивами. JavaScript автоматически преобразует примитивы в объекты String, так что на строковых примитивах возможно использовать методы объекта String. В контекстах, когда на примитивной строке вызывается метод или происходит поиск свойства, JavaScript автоматически оборачивает строковый примитив объектом и вызывает на нём метод или ищет в нём свойство.