isKeyable.js 401 B

1234567891011121314
  1. /**
  2. * Checks if `value` is suitable for use as unique object key.
  3. *
  4. * @private
  5. * @param {*} value The value to check.
  6. * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
  7. */
  8. function isKeyable(value) {
  9. var type = typeof value;
  10. return type == 'number' || type == 'boolean' ||
  11. (type == 'string' && value !== '__proto__') || value == null;
  12. }
  13. export default isKeyable;