Неблокирующие там только I/O, да и то с оговорками. А так JS как был однопоточным, так и остался и длинные рассчёты очень даже блокируют. Так что их стоит выносить в отдельный поток (или посмотреть на экспериментальные worker_threads)
По стандарту, если обратиться к свойству числа, строки или логического значения, то будет создан объект соответствующего типа, например new String для строки, new Number для чисел, new Boolean – для логических выражений.