Представьте, что у вас есть код ниже:

после прохождения этого кода через uglify-js вы получите следующий код:

uglify-js выполнит удаление мертвого кода, то есть удалит код, который не повлияет на результаты программы. Поскольку мы определили a и b в функции foo, и мы не используем a и b в foo, uglify-js безопасно удаляет его из углифицированного кода.

Однако, если вы видите из урезанного кода, foobar() сохраняется. Это связано с тем, что вызов foobar может иметь побочные эффекты для программы, поэтому uglify-js сохраняет foobar(). Но поскольку нам не нужно возвращаемое значение foobar(), которое присвоено a, a был удален с помощью uglify-js.

Что, если мы знаем, что foobar() не вызовет никаких побочных эффектов?

Как сообщить uglify-js, что если мы не используем возвращаемое значение из foobar(), удалите его также?

uglify-js будет рассматривать вызов функции как «чистый», если перед вызовом есть аннотация /*@__PURE__*/ или /*#__PURE__*/ комментария.

Например: /* @__PURE__ */ foobar()!

Обратите внимание, что сейчас foobar() удаляется!

Итак, чем это полезно?

Как автор библиотеки вы можете написать плагин babel, чтобы пометить вашу функцию как чистую, чтобы uglify-js мог отбросить вызов функции, если возвращаемое значение не используется в коде. (Есть утилитка из babel, которая просто отмечает функцию как чистую 😎)