개요
자바스크립트는 프로토타입 기반의 스크립트 프로그래밍 언어로 객체지향 개념을 지원하며
대부분의 javaScipt Engine은 ECMAScript 표준을 지원한다.
특징
웹을 구성하는 요소 중 하나로 웹 브라우저에서 동작하는 유일한 프로그래밍언어
컴파일 작업을 수행하지 않는 인터프리터 언어
인터프리터와 컴파일러의 장점을 결합하여 비교적 처리속도가 느린 인터프리터의 단점을 해결
사용법
사용방법으로는 HTML에서 JavaScript를 사용하려면 script 테그 사용
테그를 사용하는 방법으로는 html문서안에 포함시키는 방법과
따로 자바스크립트파일을 만들어 연결하는 방법이 있습니다.
테그위치를 고려해야하는이유
헤드테그안에 위치한 자바스크립트는 브라우저의 각종 입출력발생 이전에 초기화되므로 브라우저가 먼저 점검함
바디테그안에 위치하면 브라우저가 HTML부터 해석하여 화면에 그리기 떄문에 사용자가 빠르다고 느낄수 있음
변수선언방법
var변수선언 전역 재선언 가능
let변수선언 지역 재선언 불가능
const상수선언 지역 재선언 불가능
자바와는 다르게 숫자형이든 문자형이든 모두 var를 사용하여 선언함
변수를 선언할 떄 타입을 명시하지 않고 var를 사용하여 선언
var 키워드를 사용한 변수는 중복해서 선언이 가능
ex) var x =0; var x=10;
자바에서는 int형으로 두번 선언하면 오류가 생기지만 자바스크립트에서는 가능함
동적타입언어이기에 변수의 타입 지정없이 값이 할당되는 과정에서 자동으로 변수의 타입이 결정
-> 같은 변수에 여러타입의 값을 할당이 가능해짐
-> 숫자형을 넣었다가 스트링을 넣는다고 가정할때 값을 할당할때마다 자료형을 바꿔줌
낙타 표기법을 사용
자료형
원시 타입에는 숫자 문자열 boolean null undefined 5가지
이를 제외한 모든 값은 객체 타입이다.
null은 값이 없거나 비어있음을 뜻하고, undefined는 값이 초기화 되지 않았음을 의미
숫자 -> typeof 출력값 number
문자열 -> typeof 출력값 string
boolean -> typeof 출력값 boolean
boolean에서 자바와는 다르게 비어있는 문자열 , null, undefined, 숫자 0은 false로 간주함
undefined -> typeof 출력값 undegined
null -> typeof 출력값null
자바스크립트의 객체는 이름(카)과 값으로 구성된 프로퍼티의 집합
전역 객체를 제외한 자바스크립트 객체는 프로퍼티를 동적으로 추가하거나 삭제가능
자바스크립트의 함수는 일급 객체이므로 값으로 사용할 수 있다. 따라서 프로퍼트의 값으로 함수를 사용 가능!
객체 생성에는 객체 리터럴, objecr 생성자 함수, 생성자함수 방법을 사용
호이스팅
var 선언문이나 function 선언문 등 모든 선언문이 해당 Scope의 처음으로 옮겨진 것처럼 동작하는 특성을 호이스팅이라고 하고 즉 자바스크립트는 모든 선언문이 선언되기 이전에 참조가 가능
댓글