이것은 매우 간단하고 간단합니다. 코드를보세요. 자바 스크립트 확장의 기본 개념을 파악하십시오.
먼저 자바 스크립트 기능을 확장 해 보겠습니다.
function Base(props) {
const _props = props
this.getProps = () => _props
// We can make method private by not binding it to this object.
// Hence it is not exposed when we return this.
const privateMethod = () => "do internal stuff"
return this
}
다음과 같은 방법으로 자식 함수를 생성하여이 함수를 확장 할 수 있습니다.
function Child(props) {
const parent = Base(props)
this.getMessage = () => `Message is ${parent.getProps()}`;
// You can remove the line below to extend as in private inheritance,
// not exposing parent function properties and method.
this.prototype = parent
return this
}
이제 다음과 같이 Child 함수를 사용할 수 있습니다.
let childObject = Child("Secret Message")
console.log(childObject.getMessage()) // logs "Message is Secret Message"
console.log(childObject.getProps()) // logs "Secret Message"
이와 같이 자바 스크립트 클래스를 확장하여 자바 스크립트 함수를 생성 할 수도 있습니다.
class BaseClass {
constructor(props) {
this.props = props
// You can remove the line below to make getProps method private.
// As it will not be binded to this, but let it be
this.getProps = this.getProps.bind(this)
}
getProps() {
return this.props
}
}
다음과 같이 Child 함수로이 클래스를 확장 해 보겠습니다.
function Child(props) {
let parent = new BaseClass(props)
const getMessage = () => `Message is ${parent.getProps()}`;
return { ...parent, getMessage} // I have used spread operator.
}
다시 비슷한 결과를 얻기 위해 다음과 같이 Child 함수를 사용할 수 있습니다.
let childObject = Child("Secret Message")
console.log(childObject.getMessage()) // logs "Message is Secret Message"
console.log(childObject.getProps()) // logs "Secret Message"
Javascript는 매우 쉬운 언어입니다. 우리는 거의 모든 것을 할 수 있습니다. 행복한 JavaScripting ... 당신의 경우에 사용할 아이디어를 줄 수 있기를 바랍니다.