Когда текст представлен в виде строки JavaScript, тогда из него можно получить слова. Осталось только решить, что считать словом. От этого зависит подход в решении данного вопроса.
Я предлагаю простой вариант реализации через регулярное выражение (RegExp) и его метод match():
/[А-яЁё]+/g[Symbol.match]("Вот раньше трава была зеленее, а люди добрее.")
Скриншот из консоли браузера:

Как это работает?
Регулярное выражение (RegExp) производит сопоставление шаблона по строке, от начала до самого конца (слева направо). Для этого устанавливается глобальный флаг — g.
Внутри шаблона работает Атом (Atom) с классом символа (CharacterClass), который оформляется квадратными скобками. Внутри класса символа перечисляются возможные символы, которые мы хотим искать при сопоставлении. В нашем случае мы ищем все возможные буквы русского алфавита — как строчные, так и заглавные.
Класс символа дополняется квантификатором +, который ищет максимально длинную последовательность из русских букв. Как только встречается пробел, сопоставление не происходит, а значит слово найдено.
Информационные ссылки
Стандарт ECMAScript — https://tc39.es/ecma262/multipage/
Регулярные выражения по стандарту ECMAScript — https://tc39.es/ecma262/multipage/text-processing.html#sec-regexp-regular-expression-objects
Метод [ @@match ] ( string ) — https://tc39.es/ecma262/multipage/text-processing.html#sec-regexp.prototype-@@match