jQuery ships utilities: $.extend merges objects, $.trim strips whitespace, $.isArray (prefer Array.isArray in new code), and type helpers used heavily in plugins.
extend patterns
$.extend(true, target, defaults, options) deep-merges plugin settings—shallow extend mutates the first object; pass {} as target to avoid leaking defaults.
Modern note
As you migrate, replace utilities with native equivalents (Object.assign, optional chaining) while leaving plugin extend calls until the plugin itself is removed.
Self-check
- What does the deep flag do?
- Why pass an empty object first?