본문 바로가기

Programming Language/JavaScript8

8. 프로토 타입(Proto type) JavaScript는 프로토타입 기반 객체지향 프로그래밍 언어이다. 프로토타입 기반 객체지향 언어에서는 클래스 없이 객체 생성 가능 JavaScript의 모든 객체는 자신의 부모 객체와 연결되어 있다. ⇒ 마치 상속처럼 부모 객체의 프로퍼티와 메소드를 사용할 수 있다. ⇒ 이러한 부모 객체를 '프로토 타입 객체'라고 한다. 프로토 타입 객체는 생성자 함수에 의해 생성된 각각의 객체에 공유 프로퍼티를 제공하기 위해 사용 JavaScript의 모든 객체는 [[Prototype]]라는 인터널 슬롯을 가진다. [[Prototype]]의 값은 null 또는 객체(부모 객체)이며, 상속을 위해 사용된다. [[Prototype]] 객체의 프로퍼티는 get 접근을 위해 상속되어 자식 객체의 프로퍼티처럼 사용 set 접.. 2021. 1. 24.
7. 스코프 유효범위로서, 참조 대상 식별자(변수, 함수 이름 등)를 찾아내기 위한 규칙 스코프의 구분 전역 스코프(Global scope) : 코드 어디서나 참조 가능 지역 스코프(Local scope or Function-level scope) : 함수 자신과 하위 함수에서만 참조 가능 ▶ 모든 변수는 스코프를 가진다. 전역 변수(Global variable) : 전역에서 선언된 변수이며, 어디서든 참조 가능 지역 변수(Local variable) : 지역(함수)내에서 선언된 변수이며, 그 지역과 하부지역에서만 참조 가능 JavaScript 스코프의 특징 대부분의 프로그래밍 언어(C-family language) 는 블록 레벨 스코프를 따르나, JavaScript는 함수 레벨 스코프를 따른다. 블록 레벨 스코프 .. 2021. 1. 24.
6. 객체 객체 자바스크립트의 객체는 키(key)과 값(value)으로 구성된 프로퍼티(Property)들의 집합. 프로퍼티의 값으로 자바스크립트에서 사용할 수 있는 모든 값을 사용(함수 포함) 객체는 데이터를 의미하는 프로퍼티(property)와 데이터를 참조하고 조작할 수 있는 동작(behavior)을 의미하는 메소드(method)로 구성된 집합. 프로퍼티 프로퍼티는 프로퍼티 키(이름)와 프로퍼티 값으로 구성되며 프로퍼티 키는 식별자이다. 프로퍼티 키 : 빈 문자열을 포함하는 모든 문자열 또는 symbol 값 프로퍼티 값 : 모든 값 메소드 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메소드라고 함. 즉, 메소드는 객체에 제한되어 있는 함수를 의미 객체 생성 방법 JavaScript는 프로토타입 기반.. 2021. 1. 24.
5. 함수 어떤 작업을 수행하기 위해 필요한 문들의 집합을 정의한 코드 블록. 이름과 매개변수를 갖으며 필요한 때에 호출하여, 코드블록에 담긴 문을 일괄 실행. 함수 정의 함수를 정의하는 방식 함수 선언문 함수 표현식 Function 생성자 함수 함수 선언문 ex) // 함수 선언문 function square(number) { return number * number; } 함수 선언문의 경우, 함수명을 생략할 수 없다. 함수 표현식 JavaScript의 함수는 일급객체 무명의 리터럴로 표현 가능 변수나 자료 구조에 저장 가능 함수의 파라미터로 전달 가능 반환값으로 사용 가능 ⇒ 이를 이용한 방식을 함수 표현식 ex) // 함수 표현식 var square = function(number) { return numbe.. 2021. 1. 24.