javascript = 싱글 스레드
javascript engine
- javascript 소스 코드를 컴퓨터가 이해할 수 있는 기계어로 해석하고 실행시켜주는 인터프리터
- 주로 web browser 를 위해 사용
Chrome V8 engine
- 오픈 소스 javascript engine 중 하나
- javascript runtime (
Chrome web browser
, nodejs) 에서 사용
Chrome V8 engine 내부 구조
javascript engine은 하나의 Memory Heap 과 하나의 Call Stack 을 가진다.
- Memory Heap
변수나 상수 등에 사용되는 데이터를 저장하는 공간
- Call Stack (
LIFO
: Last In, First Out)
1. 코드 실행에 따라 호출 스택을 쌓는 영역
2. 하나의 Call Stack을 가지고 있기 때문에 (싱글 스레드
), 한 번에 하나의 일만 처리할 수 있다. (동기적 처리
)
=> javascript는 멀티 스레드
를 이용 못 하기 때문에, 🔗다건의 비동기 작업을 web browser에게 위임한다.
3. 코드 실행 순서 관리 수행하는 역할
javascript engine 내부 구조 샘플

샘플 소스
<script>
import { loginUser } from '@/api/index';
export default {
data() {
return {
id: 'jinbro',
pw: '1234',
logMsg: '',
};
},
methods: {
async login() {
const loginUserData = {
id: this.id,
pw: this.pw,
};
const { data } = await loginUser(loginUserData);
this.logMsg = `${data.username}님, 로그인 완료 되었습니다.`;
},
},
};
</script>
참고