Например, если бы я использовал str.split (), он не работал бы, но при использовании str.split ("") он работает нормально.
вопрос может показаться странным, но что на самом деле делает ""? Не могли бы вы привести мне несколько примеров, где используется что-то еще (если оно вообще используется)? Это просто синтаксис или причина?
Надеюсь, вы это понимаете, сложно объяснить.
Функция .split() принимает один необязательный аргумент: подстроку, которая разбивает исходную строку. "" - это просто пустая строка.
@CrazyTrain Согласно MDN, является является необязательным, но по умолчанию он просто возвращает массив из одного элемента, являющегося исходной строкой. "1,2,3".split() возвращает ["1,2,3"], когда я его выполняю.
R.T.F.M ........
@ Ивар: Извини, я ошибся. Это значение по умолчанию не используется. Ты прав.
@ Ивар, я думаю, это имеет смысл; Но без разделителя это бессмысленно :)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Потому что split() без разделителя не имеет смысла. split() с "" говорит «Разделить между всеми символами». В любом другом случае это означает «разбивать на массив строк каждый раз, когда вы встречаетесь с этим персонажем».
Например:
const str = "h1e1l1l1o1w1o1r1l1d";
console.info(str.split(1));Это будет разделено на массив, где каждая буква helloworld является отдельным элементом массива.
Кроме того, реализация спецификации диктует, что произойдет, если разделитель опущен (выделено мной):
Specifies the string which denotes the points at which each split should occur. The
separatoris treated as a string or as a regular expression. If a plain-textseparatorcontains more than one character, that entire string must be found to represent a split point. Ifseparatoris omitted or does not occur instr, the array returned contains one element consisting of the entire string. Ifseparatoris an empty string,stris converted to an array of characters.
Прочтите документацию по следующим методам:
Метод JavaScript String.split() принимает два необязательных параметра. Если вы ничего не передаете в метод, он возвращает массив с исходной строкой в качестве первого значения в массиве.
Первый параметр - это символ для разделения, если это пустая строка, он разбивается на каждый символ, поэтому, если ваша строковая переменная - собака, и вы вызываете split для нее, передавая пустую строку, она разбивает каждый символ на массив, поэтому вы будет иметь массив с 3 элементами, каждый из которых представляет собой букву, array [0] = 'd', array1 = 'o', array [2] = 'g'
Второй параметр является необязательным и задает ограничение на количество разделений, поэтому, если у вас есть слово, которое можно разделить 6 раз на пробел, и вы передали второй параметр как 5, оно пропустило бы последнюю часть.
Пожалуйста, не направляйте людей в w3schools.
Итак, если я правильно понял ваш комментарий, используя split (""), разделив строку на отдельные символы, но без этого вы разбиваете ее на несколько массивов?
@ M.Vrh Он всегда разбивается на массив, если вы передаете "" в split, он разбивается на каждый символ в строке. Итак, в моем комментарии я привел пример того, как собака будет разделена на массив длиной 3, каждый индекс, содержащий одну букву, если вы ничего не передадите в split (), он все равно создаст массив, но длина равна 1, а значение имеет исходную строку