
자바스크립트
자바스크립트(JavaScript)는 객체(object) 기반의 스크립트 언어이다.
HTML로는 웹의 내용을 작성하고, CSS로는 웹을 디자인하며, 자바스크립트로는 웹의 동작을 구현할 수 있다.
자바스크립트는 주로 웹 브라우저에서 사용되나, Node.js와 같은 프레임워크를 사용하면 서버 측 프로그래밍에서도 사용할 수 있다.
- 자바스크립트는 객체 기반의 스크립트 언어이다.
- 자바스크립트는 동적이며, 타입을 명시할 필요가 없는 인터프리터 언어이다.
- 자바스크립트는 객체 지향형 프로그래밍과 함수형 프로그래밍을 모두 표현할 수 있다.
자바스크립트 입출력
- 입력 : prompt / confirm
- 출력: alert
- 콘솔 :console.log()


document.write("<h1>안녕하세요.</h1>");
alert("Hello World");
자바스크립트 자료형
문자열(String)
let str = "가나다라"
console.log("str : " + str)
숫자(Numder)
let num = 123;
console.log("num : "+ num)
불리언(Boolean)
let boo = true;
console.log("boo : "+ boo)
- 함수
- 객체
- undefine : 선언만 하고 초기화되지 않은 변수

- 자바 스크립트 출력과 함수 출력방법
호이스팅 hoisting
JavaScript에서 호이스팅(hoisting)이란,
"변수의 선언과 초기화를 분리한 후, 선언만 코드의 최상단으로 옮기는" 것
인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미한다.
var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화한다.
Scope
scope란 범위, 보통 유효범위를 뜻하며, 어떤 변수들이 어느 시점까지 유효한지를 정의한다.
scope에는 두 가지 종류가 있다.
- 함수 스코프
- 블록 스코프
function Scope
함수 스코프는 함수에 의해서 생기는 범위를 뜻한다. ES5까지는 범수의 유효범위가 함수에 의해서만 발생할 수 있었지만,
ES6로 넘어오게 되면서 block scope라는 것이 탄생하게 되었다.
Block Scope
블록 스코프도 유효범위를 의미하는데, 여기서 블록은 코드 문단 {}(중괄호) 를 나타낸다.
따라서 { }에 의해서 생기는 변수의 유효범위를 블록 스코프라고 한다.

'IT Language > JavaScript' 카테고리의 다른 글
| [javaScript] 데이터타입 / 반복문 for문 (0) | 2023.03.10 |
|---|