JavaScript | Практика #151
Это возвращает false .
Причина этого обстоятельства в том, что JavaScript различает примитивы и объекты.
И "This is a string.". на самом деле это примитивная строка, а не экземпляр строки объекта.
Если бы код был таким:
new String("This is a string.") instanceof String
вы действительно получите результат, который ожидали вначале.
Что instanceof на самом деле делает, так это проверяет, вложен ли строковый конструктор в цепочку прототипов предоставленного значения.
В данном случае это не так.