본문 바로가기

개발

[주의] JS String.prototype.trim()

trim()을 공백을 제거하는 함수로만 생각하고 사용하고 있었습니다.

 

평소 개발 시에는 잘 사용하지 않았지만, 백준 코딩테스트를 보는 경우 입력값을 받아올 때 거의 필수적인 용도로 사용하고 있습니다. 아래 코드와 같이 사용하고 있었습니다.

const input = require('fs').readFileSync('dev/stdin').toString().trim();

다음과 같이 사용하는 이유는 코딩 테스트를 진행하다 보면 알 수 없는 이유로 틀리는 경우가 있습니다. 이때 입력값의 공백을 제거해 주면 해결되는 경우가 있기에 자연스럽게 항상 사용하고 있었습니다.

 

그리고 trimStart()와 trimEnd()의 존재를 알고만 있었고 왜 필요한지는 이해하지 못했습니다.

 

그러다가 JS를 다시 공부하게 되는 날 trim()이 양쪽의 공백을 모두 제거하고, trimStart(), trimEnd() 두 함수는 앞과 뒤를 구분해서 사용된 다는 것을 깨달았습니다... 매번 사용하면서 이제 깨달았다니 새삼 멍청했다고 생각합니다.

 

그래도 공부를 하면서 깨달아서 다행이라는 생각과 함께 앞으로 함수를 사용할 때 확실히 알고 사용해야겠다는 생각이 들었습니다.

 

함수를 사용하는 경우 주의합시다~

 

참고

String.prototype.trim(), MDN, 2024.11.22