모딥다 4

[모딥다] JS (9) - 프로토타입

1. JavaScript: 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어: JS는 객체 기반의 언어이며 자바스크립트를 이루고 있는 거의 모든 것이 객체라고 할 수 있다.: 원시 타입의 값을 제외한 나머지 값들(함수 , 배열 , 정규 표현식 등)은 모두 객체라고 할 수 있다. 2. 객체지향 프로그래밍: 여러 개의 독립적 단위, 즉 객체의 집합으로 프로그램을 표현하려는 프로그래밍 패러다임: 실세계의 실체를 인식하는 철학적 사고를 프로그래밍에 접목하려는 시도에서 시작함: 실체는 특징이나 속성을 나타내는 속성(어트리뷰트 / 프로퍼티) : 추상화는 다양한 속성 중에서 필요한 속성만 간추려 내어 표현하는 것ex) "이름"과 "주소"라는 속성을 갖는 person 객체c..

[모딥다] JS (4) - 전역 변수의 문제점

1. 변수의 생명 주기1) 지역 변수의 생명 주기: 변수는 선언에 의해 생성되고 할당을 통해 값을 갖음. 그리고 소멸하는데 이러한 것을 생명 주기라고 함.: 만약 생명주기가 없다면 종료하지 않는 한 영원히 메모리 공간을 점유하게 된다.: 변수 선언은 선언문이 어디에 있든 상관 없이 가장 먼저 실행됨, 즉 한 줄 씩 순차적으로 실행되는 런타임 시점이 아닌 시작 전 자바스크립트 엔진에 의해 먼저 실행된다. => 전역 변수에 한정된 설명: 지역 변수는 함수 몸체의 다른 문들이 순차적으로 실행 되기 이전에 자바스크립트 엔진에 의해 변수가 선언되고 undefined로 초기화 된다. 그 후 함수 몸체의 다른 문들이 순차적으로 실행 될 때 값의 할당이 이루어진다. :  즉, 지역 변수의 생명 주기는 함수의 생명 주기..

[모딥다] JS (2) - 함수

1. 함수란? : 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것: 매개변수 - 함수 내부로 입력을 전달 받는 변수: 인수 - 입력: 반환값 - 출력: 함수 정의를 통해 생성: 함수는 일급객체임 (값의 성질을 갖는 객체를 일급객체라고 함)function addNumber(x,y) { return x + y;} 2. 함수 리터럴: 함수는 객체 타입의 값이다 따라서 함수도 함수 리터럴로 생성할 수 있다. : 함수 리터럴은 function 키워드, 함수 이름, 매개변수 목록, 함수 몸체로 구성된다.var f = function add(x,y) { return x + y; }; * 함수 이름은 생략 가능, 이름이 없는 함수를 무명/ 익명 함수라 함* 매개변수 목록은 ..

[모딥다] JS (1) - 객체 리터럴

1. 객체란?: JS는 객체 기반의 프로그래밍 언어며 거의 모든 겂이 객체다. : 변경 불가능한 원시 값과 달리 객체는 변경 가능한 값이다.: 객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키와 값으로 구성된다.: 이미 존재하는 프로퍼티 키를 중복 선언하면 나중에 선언한 프로퍼티가 먼저 선언한 프로퍼티를 덮어쓴다.let person = { name: "John" // 프로퍼티 키 : name , 프로퍼티 값 : "John" age: 22,} :  참고로 프로퍼티 값은 JS에서 사용할 수 있는 모든 값이 될 수 있다.: 프로퍼티 값이 함수인 경우 우리는 메서드라 부른다.var counter = { num = 0, // 프로퍼티 increase : function() { ..