Как обрезать строку в Javascript?
function truncateString(str, num) { // функция принимает два аргумента - саму строку и ограничение длины строки

  if (str.length > num) { // если длина строки больше ограничения
    return str.slice(0, num) + "..."; // обрезаем строку до ограничения, в конце добавляем многоточие (sic!) и возвращаем 
  } else { // в противном случае
    return str; // возвращаем исходную строку
  }
}
Вторая функция делает всё то же самое, только записана в одну строчку - https://developer.mozilla.org/ru/docs/Web/JavaScri...
возвращать нулевую строку массива
Нет.  Посмотрите, что делает метод строки slice() — он возвращает часть строки.
const str = "abcdef";
// индексы:  012345

str.slice(2, 4)
// от индекса 2, т.е. "c"
// до индекса 4 (но не включая его)
// т.е. до "e", но без самой "e"
// итого вернёт "cd"
Что значит в коде + "..."
Строки в JavaScript можно «складывать»:"Hello" + " world!" 
// получится "Hello world!"

"Понимаете?"  +  "..."

Что значит : str
Это часть «тернарного оператора». Как «унарный» от 1-го аргумента, «бинарный» – от двух аргументов, так «тернарный» – от трёх.

Логически похоже на if () then  {} else {}, но это выражение - туда нельзя засовывать дополнительные действя, как в if.  Удобен для короткой записи, когда нужно вернуть то или иное значение, в зависимости от условия: let a = 5 > 2    ?  "5 больше 2"  :  "5 не больше 2";
        условие     если верно       если ложно