어떤 사람은 "페이지에 5개의 텍스트 상자가 있습니다. 각 텍스트 상자에는 한 문자만 입력할 수 있습니다. 사용자가 포커스를 입력한 후 js를 사용하여 자동으로 두 번째 텍스트 상자로 이동하려면 어떻게 해야 합니까?"라고 묻기도 했습니다.
이 기능은 Tab으로 하면 안되는거 아닌가? 사용자가 입력한 후에는 Tab 키만 누르면 됩니다. 또한 사용자는 다음 항목으로 전환할지 여부도 제어할 수 있습니다(사용자가 입력 오류를 범할 수도 있기 때문).
그런데 사장님이 달라고 하셨다며 고집을 부리셨다. 나는 마침내 그가 이 기능을 구현하도록 도와야 했습니다. 하지만 기분이 이상할 뿐이에요.
JS를 처음 배웠을 때 JS가 매우 복잡한 기능을 간단하고 쉽게 만들 수 있다는 느낌을 받았습니다. 나중에 클라이언트 파일 조작 등 js로는 할 수 없는 일이 많다는 것을 점차 알게 되었습니다.
당시에는 다른 언어로 구현할 수 있는 기능을 왜 js에서는 구현하지 못하느냐고 종종 불평을 해서 js가 해서는 안 될 일을 많이 했습니다.
한번은 리소스 파일을 읽기 위해 js에서 수백 줄의 코드를 작성했는데, 나중에 다시 수정하려고 보니 한 줄의 내용만 읽었습니다. 제가 사용하기 전에 작성한 코드는 vb.net이나 C#에서 5줄 이내로 구현할 수 있다는 것을 알았습니다.
js가 추가 이벤트를 너무 많이 해서는 안 된다고 생각합니다. 그 이유 중 하나는 js 자체의 한계 때문입니다. js는 클라이언트에서 실행되고 모든 코드는 실행을 위해 클라이언트 시스템으로 전송됩니다. 결과적으로 사용자 데이터 암호화와 같은 일부 로직은 js에서 구현되어서는 안 됩니다.