위키득계정 ↗
기술

자바스크립트

자바스크립트기술
영문명
JavaScript
언어 표준
ECMAScript
대표 사용 환경
웹 브라우저와 서버 런타임
특성
동적 타입과 일급 함수 등
구별할 언어
자바와 별개의 언어
자바스크립트는 웹 페이지와 서버 등 여러 환경에서 실행되는 프로그래밍 언어다. 언어 자체의 규칙과 브라우저나 실행 환경이 제공하는 API는 구별해야 한다.

언어와 실행 환경

함수와 객체, 값과 연산에 관한 규칙은 언어에 속한다. DOM과 네트워크 요청, 파일 접근 등은 실행 환경이 제공하는 API와 연결된다. 같은 언어 코드라도 어디에서 실행하는지에 따라 사용할 수 있는 기능이 다르다.

자바스크립트와 자바는 이름이 비슷하지만 서로 다른 언어다. 한쪽의 타입과 실행 규칙을 다른 쪽에 그대로 적용해서는 안 된다.

값과 타입 변환

변수에 저장된 값의 타입은 실행 중 달라질 수 있다. 일부 연산은 암묵적인 타입 변환을 수행하므로 문자열과 숫자가 섞인 결과를 주의해서 읽어야 한다.

명시적으로 값을 변환하고 입력 조건을 검증하면 이런 차이를 줄일 수 있다. 비교 연산의 종류와 값이 없는 상태의 표현도 언어 규칙에 맞게 이해해야 한다.

비동기 코드와 대기

네트워크 요청 같은 작업의 완료를 기다리면서 다른 작업을 진행하는 코드를 작성할 수 있다. Promise와 async·await는 이런 비동기 흐름을 다루는 방법이다.

await가 있다고 무거운 계산이 자동으로 다른 CPU에서 병렬 실행되는 것은 아니다. 실행 환경의 이벤트 루프와 작업 분담을 고려해야 응답성을 유지할 수 있다.

브라우저에서의 역할

자바스크립트는 사용자 입력에 반응하고 문서 구조를 바꾸거나 추가 데이터를 가져오는 데 쓰인다. 그러나 중요한 문서 내용과 탐색이 전부 실행 후에만 생기면 일부 환경에서 접근과 크롤링이 어려워질 수 있다.

스크립트는 입력을 신뢰해서는 안 되며 서버의 권한 검사도 대신하지 못한다. 화면에서 버튼을 숨기는 것과 실제 작업 권한을 제한하는 것은 별도의 문제다.

관련 문서

프로그래밍 언어 / HTML / API