On Feb 18, 2010, at 8:36 PM, Tab Atkins Jr. wrote:

On Thu, Feb 18, 2010 at 10:28 PM, Maciej Stachowiak <m...@apple.com> wrote:
However, I also think 0-argument getters are a bad pattern in JavaScript.
Why not just use an attribute?

interface HTMLFormElement : HTMLElement {
 ...
 readonly attribute FormData formData;
 ...
};

Jonas addressed that in the original email - he (rightfully, I feel)
fears that if it's an attribute, people will assume that it can be
assigned to.

There's lots of readonly attributes in the DOM. Are we worried about people trying to assign to Node.firstChild? NodeList.length? Event.target? Seems like a concern that is not borne out by experience.

Furthermore, making the attribute writable might even be useful. You could imagine saving the state of a form in client-side storage and wanting to restore it later while offline. Sure, you could extract the control values yourself and make up your own serialization format, but that seems like a waste when you have sweet tasty FormData.

I see absolutely nothing wrong with 0-argument getters, personally.

I don't see the point, in a language that supports getter attributes. Why would you want to write form.getFormData() instead of form.formData? It's just a waste. I say save the parentheses for when there are either parameters or side effects rather than just getting a value.

Regards,
Maciej

Reply via email to