FormData.prototype.set
Sets a new value for an existing key, or adds the key/value if it does not already exist, unlike append which adds another value
Syntax
formData.set(name, value, filename?)Parameters
| Parameter | Type | Description |
|---|---|---|
| name | string | The name of the field |
| value | string | Blob | The field value |
| filename | string | Optional filename for Blob values |
Return Value
undefined
Examples
const fd = new FormData()
fd.set('name', 'Alice')
fd.set('name', 'Bob')
console.log(fd.get('name')) // 'Bob'const form = document.querySelector('form') as HTMLFormElement
const fd = new FormData(form)
fd.set('timestamp', new Date().toISOString())function updateField(fd: FormData, key: string, value: string) {
fd.set(key, value)
return fd
}Understanding FormData.prototype.set
The FormData.prototype.set method in JavaScript sets a new value for an existing key, or adds the key/value if it does not already exist, unlike append which adds another value. It belongs to the FormData object and is one of the most widely used methods for working with formdata values in modern JavaScript and TypeScript applications.
The method signature is formData.set(name, value, filename?). It accepts 3 parameters: name, value, filename. When called, it returns undefined. Understanding when and how to use set() helps you write more expressive, readable code.
Common use cases for FormData.prototype.set include data transformation, input validation, API response processing, and building reusable utility functions. It works well alongside related methods like fetch-formdata-append, fetch-formdata-get, fetch-formdata-delete, enabling you to chain operations together for complex data manipulation pipelines.
Browser support for FormData.prototype.set is excellent across all modern browsers including Chrome, Firefox, Safari, and Edge. It is also fully supported in Node.js and Deno. For older environments, transpilation with Babel or a polyfill may be needed.
Browser Compatibility
Supported in all modern browsers (Chrome, Firefox, Safari, Edge) and Node.js. Part of the ECMAScript standard.
Related Methods
FormData.prototype.appendAppends a new value onto an existing key inside a FormData object, or adds the key if it does not already exist
FormData.prototype.getReturns the first value associated with a given key from within a FormData object
FormData.prototype.deleteDeletes a key and all its values from a FormData object
More FormData Methods
Other methods in the FormData object
Related Tools
More FormData Methods
Explore JavaScript Methods
Browse our complete reference of 410 JavaScript methods with syntax, examples, and explanations.