The name of a method whose key is a symbol

# Axel Rauschmayer (9 years ago)

This is the behavior defined in the spec:

const key1 = Symbol('description');
const key2 = Symbol();

let obj = {
    [key1]() {},
    [key2]() {},
};
console.log(obj[key1].name); // '[description]'
console.log(obj[key2].name); // ''

I’m wondering: if a symbol has no description, wouldn’t it be better to give the method the name '[]' instead of the empty string?

# Andrea Giammarchi (9 years ago)

being a function name I rather wonder if it wouldn't be better to have 'description' without square brackets ... to be consistent with the fact the Symbol has no name.

If that's instead a way specified as such in order to understand that is a Symbol then I agree, for consistency, it should have square brackets (which unfortunately when empty remind me an array)