본문 바로가기
javascript

내가 자바스크립트를 좋아하는 4가지 이유

by it-square 2022. 1. 4.
반응형

나는 자바스크립트로 일하는 게 너무 좋아. 자바스크립트가 무슨 뜻이죠? 리액트 JS? TypeScript? 아니요. 저는 주로 바닐라 자바스크립트로 작업하는 걸 좋아해요. 프레임워크, 라이브러리 등은 필요하지 않습니다(최소한의 프레임워크만 있으면 됩니다).

근데 왜 나는 평범한 바닐라 JS를 그렇게 좋아할까? 기본적으로, 동적이고 해석된다는 것으로 요약됩니다. 이 언어를 사용하는 다른 모든 것을 배우기 전에 먼저 이해해야 한다는 사실, 웹의 언어이며 화살표 기능은 매우 간단합니다(그리고 나중에 논의해야 할 다른 이유).

몇 가지 세부 사항에 대해 더 자세히 살펴보겠습니다.

1. JavaScript는 동적이며 인터프리터링됩니다.

 

겉으로 보기에는, 자바스크립트는 웹사이트를 더 상호작용적으로 만들기 위해 사용되는 스크립트 언어처럼 보인다. 맞아요, 하지만 그 이상이에요. 특히 Node.js를 사용하기 시작할 때 JavaScript는 수년간 완전한 기능을 갖춘 언어로 발전해 왔습니다!

C++ 또는 Java와 같은 언어와 JavaScript의 차이점은 무엇입니까? 그들은 같지 않다.) C++와 자바는 강력한 타입의 컴파일 언어인 반면 자바스크립트는 동적 인터프리터 언어이다.

C++와 같은 언어는 변수의 유형을 명시적으로 명시해야 하지만, 예를 들어 int x = 10을 의미합니다. JavaScript에는 이러한 제한이 없지만, TypeScript를 사용하여 코드에 유형 검사를 추가할 수 있습니다. 자바스크립트에서 변수의 유형은 브라우저/엔진에 의해 추론된다. x = 10;을 입력하면 브라우저, 노드 또는 다른 JavaScript 엔진이 이 변수를 Number 유형으로 명시적으로 명시할 필요 없이 숫자로 해석합니다.

두 번째 포인트는 컴파일러라는 별도의 프로그램을 실행하여 C++나 자바로 작성된 코드를 실행할 수 있는 반면 자바스크립트는 이를 실행하는 특정 엔진에 의해 해석된다(구글 크롬의 V8 또는 Node.js와 같은). 이것은 코드가 실시간으로 한 줄 한 줄씩 실행된다는 것을 의미한다.

이것은 초보자들에게 더 쉽게 만들어 주지만, 분명히 심각한 문제로 이어질 수도 있습니다. 저는 C++와 자바에서 오는 것이 처음에는 그것의 정수 타입을 가지지 않는다는 생각이 혼란스러웠다는 것을 인정합니다! 설상가상으로, 나는 명시적으로 유형을 선언하는 것에 익숙해서 처음에는 선언할 때마다 int나 문자열 등을 치지 않는 것을 기억하기가 좀 귀찮았다.

 

2. X.J를 배우기 전에 JS를 이해해야 합니다.

예를 들어 노드, 리액트, Vue 등이 X입니다.

한 가지 분명히 하자: 여러분은 React.js와 같은 것에 뛰어들기 전에 바닐라 자바스크립트에 대한 탄탄한 기초를 가지고 있어야 한다!

이것이 제가 바닐라 자바스크립트를 사랑하는 법을 배운 이유입니다: 왜냐하면 프레임워크, API, 라이브러리를 배우는 데 도움이 될 것이기 때문입니다. 생각해봐. (HTML/CSS 외에) JavaScript에 대한 확실한 이해 없이, 기능성을 위해 JavaScript에 의존하는 것을 어떻게 배울 수 있을까요?

 

다행히도, 기초 자바스크립트는 (대부분의 경우) 초보자 친화적이기 때문에, 특히 C++, 자바, 파이썬, 루비 등과 같은 다른 스크립트나 프로그래밍 언어를 이미 알고 있다면, 빠른 속도로 학습할 수 있다. 그러나 기본 구문 및 제어 구조를 잘 이해한 후에는 다음 항목에 주의해야 합니다.

  • HTTP 요청/응답 및 상태 코드
  • 비동기/대기
  • 약속들
  • 콜백
  • 가져오기 API
  • ES6 구문 - 화살표 함수, 스프레드/정지 연산자, 모듈 소멸, 구성 및 let
  • Node.js의 기본 사항

이러한 주제를 이해하면 React.js와 같은 프런트 엔드 프레임워크로 넘어갈 수 있습니다! 기본을 빼먹지 마세요. React, Vue, Angular 등을 배우기 전에 핵심 JavaScript에 대해 많이 배우세요. 하지만 기본부터 익히는 것이 가장 좋은 방법입니다!

3. JavaScript는 웹의 언어입니다.

나는 너에 대해 잘 모르지만, 나는 웹과 인터넷에 매료되었어. 자바스크립트는 저에게 큰 의미가 있는데, 그것이 웹의 대부분을 그렇게 기능하게 하기 때문입니다. 자바스크립트가 없다면 대화형 웹 페이지도 없을 것이다!

 

매우 실제적인 의미에서 자바스크립트는 웹이 어떻게 동작하는지 그리고 어떻게 계속 진화하는지 핵심이다. 이것은 언젠가 어느 정도 바뀔지도 모릅니다. 현재로서는 자바스크립트(HTML/CSS 옆)가 웹 개발의 기본 주제이다.

4. 화살의 아름다움

화살표 함수는 이전 함수 myFunc() { // do thing } 구문보다 보기 좋고 읽기 쉽습니다. 예를 들어, 두 숫자의 합을 반환하는 간단한 함수를 생각해 보자.

function add(number1, number2) {
      return number1 + number2;
}

화살표 기능을 사용하면 다음과 같이 더 간결하게 쓸 수 있다.

 
const add = (number1, number2) => number1 + number2;

예를 들어 이벤트 청취자에게 더욱 좋습니다.

const navLink = document.querySelector('.nav-link');
navLink.addEventListener('click', e => {
      e.preventDefault();
      // do some cool stuff? 
});

또는 배열 메서드 사용

const arr = [1, 2, 3, 4];
const arrSquared = arr.map(n => n * n);
arrSquared.forEach(item => console.log(item)); 
// Output:
// 1
// 4
// 9
// 16
 

실제로 콜백 기능을 필요로 하는 것은 화살표 기능이다. 보시다시피 코드를 크게 단순화하고 가독성을 향상시킵니다. 상상해봐, 만약 내가 글을 쓴다면

const arr = [1, 2, 3, 4];
const arrSquared = arr.map(function(n){
      return n * n;
});
arrSquared.forEach(function(item){
      console.log(item);
});

필요 이상으로 타이핑이 많으며, 화살표 구문의 단순함에 반해 한 줄에서는 더 추하다!

모든 주요 웹 브라우저와 Node.js는 이 시점에서 이 ES6 기능을 지원해야 합니다. 적절한 곳에 사용할 것을 제안합니다. 보통 코드 선명도를 향상시키거나 코드베이스의 혼란스러움을 줄이거나 한 줄로 줄을 그을 수 있는 경우입니다.

여기 있네요! 내가 바닐라 자바스크립트를 좋아하는 4가지 이유! 이것은 내가 왜 자바스크립트를 좋아하는지 겉으로 드러내기 시작하지도 않지만, 당신이 생각할 거리를 주거나 적어도 더 많은 것을 배우는 것에 대한 당신의 관심을 불러일으키기를 바란다.

 

앞으로 자바스크립트에 대해 더 많은 것을 알게 될 것이니 여러분, 채널을 고정하세요!

당신이 이 기사를 재미있게 읽으셨기를 바랍니다. 두 번째 기사이자 첫 번째 기술적인 작품입니다. 여러분이 박수를 치고, 피드백을 남기고, 미디엄으로 저를 따라온다면 그것은 저에게 큰 의미가 될 것입니다.

나는 매일 코드를 작성하고 작업하므로 정기적인 콘텐츠 업데이트를 기대해요.

시간 내주셔서 감사합니다!

댓글