자바스크립트 2

클래스와 객체 그리고 상속.

자바스크립트를 제대로 알기 위해서는 객체에 대한 이해가 필요합니다. JS의 모든 것이 객체로 이루어져 있기 때문입니다. 자 같이 공부해 봅시다. 자바스크립트에는 클래스가 있는가? 객체지향 개발이 가능한가? 이 질문에 대답하기위해 우리는 클래스와 객체를 구분해야 합니다. 클래스는 틀입니다. 사람이라는 틀이 있고 그 틀로 찍어내듯 만든 "이석규"라는 인간이 있죠. 만들어진 "이석규"라는 인간은 객체입니다. 사람이라는 클래스의 인스턴스죠. "자 그럼 자바스크립트에는 클래스가 있는가?" 그렇습니다. 본래 자바스크립트에는 클래스 문법이 없었습니다. ES6에 들어와서 제공되기 시작한 거죠. 두 번째 질문인 "객체지향 개발이 가능한가?" 매우 그렇습니다. 그렇다면 ES6에서 클래스가 제공되고 난 후에야 JS로 객체지..

호이스팅

자바스크립트에는 호이스팅이라는 특성이 있습니다. 처음 JS를 사용할 때 놀래키는 녀석 중 하나죠. 호이스팅이란 자바스크립트에서 실행 문맥을 동작할 때 함수와 변수의 선언을 해당 컨텍스트의 최상위로 끌어올리는 것을 의미합니다. 실제로 끌여올려지는 것은 아니며, 실행문맥과 활성 객체에 대한 이해가 있어야지만 호이스팅을 정확하게 이해할 수 있습니다. 이게 뭔 소리야? 우리는 검정 화면을 좋아하는 개발자니 코드로 보면서 확인해 봅시다. 1 2 3 4 5 6 7 printAge(17); function printAge(age){ console.log("내 나이가 벌써" + age + "라니?"); } Colored by Color Scripter cs 아무 문제없이 실행됩니다. 이제는 익숙해서 당연하게 느껴지네요..