“web front end 개발을 위한 필수언어”
장점
- non-typing 언어로, 배우기 쉽다 .
- 다양한 platform에서 쓰이는 언어 (web, app, desktop app 등)
- 객체 지향과 함수형 프로그래밍 모두 지원.
단점
- non- typing 언어로, 에러 발생을 조기에 감지할 수 없다.
- code 보안 : 코드 난독화는 가능할지 언정, 완전히 감출수는 없다.
개발자 의도를 벗어난 사용이 쉽게 가능 - hoisting : 함수/변수에서 hoisting이 발생하면 디버깅하기 굉장히 골치 아파질 수 있으나,
개인적으로는 이런 경험을 해본적이 없다..
global 변수를 쓰지 않고, Object oriendted 하게 잘 코딩하면 발생안하는듯?
총평
개인적으로는 가장 애용하는 언어이다.
개발하고 있는 모든 플랫폼(web(front/back), app, desktop app) 에서 사용되고,
toy project들을 만들기에 쉽게 쓸수 있기 때문이다.
하지만, 대형프로젝트라면 대부분 web front end 개발할때만 쓴다.