JavaScript - 상속과 프로토타입
·
개발 - 언어/JavaScript
프로토타입 체인을 이용한 상속 속성상속 : 자바스크립트 객체는 속성을 저장하는 동적인 "가방"과 (자기만의 속성이라고 부른다) 프로토타입 객체에 대한 링크를 가진다. 객체의 어떤 속성에 접근하려할 때 그 객체 자체 속성 뿐만 아니라 객체의 프로토타입, 그 프로토타입의 프로토타입 등 프로토타입 체인의 종단에 이를 때까지 그 속성을 탐색한다. 메소드 상속 : 자바스크립트에 "메소드"라는건 없다. 하지만 자바스크립트는 객체의 속성으로 함수를 지정할 수 있고 속성 값을 사용하듯 쓸 수 있다. 속성 값으로 지정한 함수의 상속 역시 위에서 본 속성의 상속과 동일하다. (단 위에서 언급한 "속성의 가려짐" 대신 "메소드 오버라이딩, method overriding" 라는 용어를 사용한다) 상속된 함수가 실행 될 때,..
JavaScript - 클래스 상속
·
개발 - 언어/JavaScript
클래스 상속이란? : 객체지향 프로그래밍에서 상속의 개념은 현실에서 사용하는 상속이라는 단어의 뜻과 비슷 : 프로그래밍에서의 상속은확장이라고도 부르고, 특정 클래스(부모 클래스)의 속성과 메서드를 하위 클래스(자식 클래스)가 물려받는것을 의미한다. ※ 클래스 상속을 사용하면 기존 코드를 변경하지 않고도 기능을 추가하거나 수정할 수 있다. 클래스 상속 기능 코드 재사용성 중복 코드의 제거 확장 JavaScript 클래스 상속 문법 function 부모클래스() { this.프로퍼티 = 값; } 부모클래스.prototype.메서드 = function() { } // 상속코드 자식클래스.prototype = new 부모클래스();
JavaScript - 오버라이드(Override) 와 오버로딩(Overloading)
·
개발 - 언어/JavaScript
메서드 오버라이드(override) : 자식 클래스에서 부모 클래스의 기능(method)을 재정의 할 때 사용하는 기능 - 어떤 경우에 오버라이드를 사용..? 부모 클래스의 기능을 그대로 사용하지 않고 자식 클래스에서 구현한 기능을 사용하고 싶을때 부모 클래스의 기능을 자식 클래스에서 확장하고 싶은 경우 부모 클래스의 기능을 자기 클래스에서 재정의 - 재정의 구문 MyParent.prototype.부모메서드 = function() {} MyChild.prototype.부모메서드 = function() {} 위 코드 실행시, 부모 클래스의 method()가 동작하지 않고, 자식 클래스에서 작성한 method()가 동작함. 이처럼 부모의 기능을 직접 수정하지 않고 부모의 기능을 재정의 할 때 메서드 오버라이..
JavaScript - Split() 과 Join()
·
개발 - 언어/JavaScript
Array.join() : join() 메서드는 배열의 모든 요소를 연결해 하나의 문자열로 만듦. arr.join([separator]) : separator는 매개변수이며, 배열의 각 요소를 구분할 문자열이다. 이 구분자는 필요한 경우 문자열로 변환, 생략시 배열의 원소들을 쉼표로 구분한다. 예제 // join 예시 var izAry = ['유리', '예나', '채원']; var izStr1 = izAry.join(); var izStr2 = izAry.join(' / '); document.writeln('' + izStr1 + ''); document.writeln('' + izStr2 + ''); document.writeln(izStr1.length); document.writeln(izStr2..
JavaScript 별찍기 예제
·
개발 - 언어/JavaScript
// 직각삼각형 for (let i = 0; i
JavaScript 기초 정리 - 03
·
개발 - 언어/JavaScript
스코프(Scope)와 클로져(Closure) 1. 유효범위(Scope) 전역 스코프 (Global scope) : 스크립트 전체에서 참조/어느 곳에서든 참조 가능 지역 스코프 (Local scope) : 정의된 함수 내에서만 참조/밖에서는 참조 불가능 - 유효범위의 특징 함수 단위의 유효범위 (function-level-scope) 변수명 중복 허용 암묵적 선언 Lexical scoping (Static scoping) 1-1. function-level-scope : 함수 코드 블럭 내에서 선언된 변수는 함수 코드 블럭 내에서만 유효. var a = 0; { var a = 1; console.log(a); // 1 } console.log(a); // 1 let b = 0; { let b = 1; co..
수토리지
Code_Sootorage