- JS로 작성한 프로그램 = script
- JS특징
- script는 HTML 안에서 작성 할 수 있다. (HTML을 불러올 때 자동으로 실행)
- '컴파일 없이' 문자 형태로 작성 및 실행 가능 (인터프리터)
- 브라우저, 서버 뿐 아니라 '자바스크립트 엔진' 프로그램이 들어 있는 모든 디바이스에서 동작한다.
- 메모리나 CPU 조작을 허용하지 않는다.
- 브라우저엔 자바스크립트 가상 머신이란 엔진이 내장되어 있다
- node.js 환경에선 파일을 읽거나 쓰고, 네트워크 요청을 수행한다.
- JS 강점
- HTML/CSS 완전한 통합 가능
- 간단하게 일을 처리
- 모든 주요 브라우저 지원, 기본 언어로 사용됨
- 브라우저 별 JS엔진
- V8 - chrome
- Chakra - IE, Edge
- SquirrelFish - safari
- 브라우저에서 할 수 있는 일
- HTML 추가, 수정하기
- 마우스 클릭이나 키보드 눌림과 같은 사용자 행동에 반응하기
- 네트워크를 통해 원격 서버에 요청을 보내기, 파일 다운로드, 업로드하기
- 쿠키를 가져오거나 설정하기
- 클라이언트 측에 데이터 저장
- 브라우저에서 할 수 없는 일
- 사용자가 브라우저 창에 파일을 끌어다 두거나, <input> 태그를 통해 파일을 선택할 때 같은 특정 상황에서만 파일 접근을 허용한다.
- 도메인, 프로토콜, 포트가 다르다면 같은 브라우저 내 다른 탭과 창에서 서로의 정보를 공유하지 않는다.
- 위 제약 사항들은 모두 보안을 위해 만들어졌다.
'Dev > JavaScript' 카테고리의 다른 글
프로세스 (Process)와 스레드 (Thread)의 차이 (0) | 2023.05.31 |
---|---|
동기 (Synchronous)와 비동기 (Asynchronous) (0) | 2023.05.31 |
콜백 함수 (Callback Function) (0) | 2023.05.30 |
이벤트 루프 (Event Loop) (0) | 2023.05.30 |
데이터 타입의 종류와 메모리 할당 (0) | 2023.02.22 |