Ask HN: Should IDs be strings or numbers in your codebase?
2 コメント
Consider storage requirements. Strings (ASCII? UTF-8?) are not as efficient as integers or UUIDs. You're not storing UUIDs as strings, are you? They are binary, only converted to the string expansion for display and/or export.
Unless you're doing math with them for some reason, they're strings.
Database auto-increments happen to be integers, but we never perform arithmetic on IDs – they're opaque identifiers.
My take: IDs are identifiers, not numbers. Typing them as strings makes this explici and makes migrating to UUIDs or other formats painless.
Am I missing a good reason to keep them as numbers?