Exemple TypeScript

Convertir snake_case en camelCase en TypeScript

Un helper typé peut découper les tokens séparés par underscore et retourner une chaîne camelCase prévisible.

Par Équipe éditoriale Camel Case ConverterPublié le 12 sept. 2026Dernière relecture

Code TypeScript

function snakeToCamel(value: string): string {
  const parts = value.trim().replace(/^_+|_+$/g, "").split(/_+/).filter(Boolean)
  if (parts.length === 0) return ""
  return parts[0].toLowerCase() + parts.slice(1).map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase()).join("")
}

snakeToCamel("user_profile_image")
// "userProfileImage"

Une signature string → string se réutilise facilement dans les utilitaires, adapters et mappings typés.

Le remapping de types et la transformation runtime sont deux couches distinctes ; les données réseau doivent être réellement transformées.

Cas limites à considérer

  • Les acronymes peuvent imposer apiResponseURL plutôt que apiResponseUrl.
  • La conversion récursive demande de décider jusqu’où les types TypeScript reflètent le résultat runtime.
  • Les séparateurs mixtes nécessitent une tokenisation plus large.
  • Deux clés source peuvent produire la même clé et ne doivent pas être écrasées silencieusement.

Exemple

AvantAprès
user_profile_imageuserProfileImage
__user__profile__userProfile
api_response_urlapiResponseUrl
created_atcreatedAt

Code TypeScript

const cases: Array<[string, string]> = [
  ["user_profile_image", "userProfileImage"],
  ["__user__profile__", "userProfile"],
  ["api_response_url", "apiResponseUrl"],
  ["created_at", "createdAt"],
]

for (const [input, expected] of cases) {
  if (snakeToCamel(input) !== expected) throw new Error(input)
}

Tester la conversion en ligne

Utilisez le convertisseur pour les vérifications rapides, les lots, les acronymes ou les entrées qui mélangent plusieurs conventions.

Détecté : snake_case
Sortie camelCase
userProfileImageUrl

Tous les formats de nommage

camelCase
userProfileImageUrl
PascalCase
UserProfileImageUrl
snake_case
user_profile_image_url
kebab-case
user-profile-image-url
CONSTANT_CASE
USER_PROFILE_IMAGE_URL
dot.case
user.profile.image.url
path/case
user/profile/image/url

La conversion s’effectue localement dans votre navigateur. Votre entrée n’est pas envoyée à un serveur de conversion.