Ну, есть отдельные реализации для отдельных операционных систем. Это означает, что если логика для извлечения расширения файла на Mac отличается от логики в Linux, это различие будет обрабатываться этими вещами. Я не знаю ни одного такого различия, поэтому их может и не быть.
Edit : @ Brian комментирует, что пример, такой как /directory.ext/file
, конечно, не будет работать с простым вызовом .split('.')
, и вы должны будете знать, что каталоги могут использовать расширения, а также тот факт, что в некоторых операционных системах косая черта является допустимым разделителем каталогов.
Это только подчеркивает, что использует библиотечную процедуру, если у вас нет веских причин не часть моего ответа.
Спасибо @Brian.
Кроме того, если файл не имеет расширения, вам придется встроить логику для обработки этого случая. А что, если вы попытаетесь разделить имя каталога, заканчивающееся обратной косой чертой? Нет имени файла или расширения.
Правило должно состоять в том, что, если у вас нет особой причины не использовать библиотечную функцию, которая делает то, что вы хотите, используйте ее. Это избавит вас от необходимости поддерживать и исправлять код, к которому у других есть отличные решения.