สิ่งนี้ง่ายมากและตรงไปตรงมา ดูรหัส พยายามเข้าใจแนวคิดพื้นฐานที่อยู่เบื้องหลังส่วนขยายจาวาสคริปต์
ก่อนอื่นให้เราขยายฟังก์ชันจาวาสคริปต์
function Base(props) {
const _props = props
this.getProps = () => _props
const privateMethod = () => "do internal stuff"
return this
}
คุณสามารถขยายฟังก์ชันนี้ได้โดยสร้างฟังก์ชันลูกด้วยวิธีต่อไปนี้
function Child(props) {
const parent = Base(props)
this.getMessage = () => `Message is ${parent.getProps()}`;
this.prototype = parent
return this
}
ตอนนี้คุณสามารถใช้ฟังก์ชัน Child ได้ดังนี้
let childObject = Child("Secret Message")
console.log(childObject.getMessage())
console.log(childObject.getProps())
เรายังสามารถสร้าง Javascript Function ได้ด้วยการขยายคลาส Javascript เช่นนี้
class BaseClass {
constructor(props) {
this.props = props
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}
}
อีกครั้งคุณสามารถใช้ฟังก์ชัน Child ดังต่อไปนี้เพื่อให้ได้ผลลัพธ์ที่คล้ายกัน
let childObject = Child("Secret Message")
console.log(childObject.getMessage())
console.log(childObject.getProps())
Javascript เป็นภาษาที่ง่ายมาก เราทำได้เกือบทุกอย่าง Happy JavaScripting ... หวังว่าฉันจะสามารถให้ความคิดที่จะใช้ในกรณีของคุณ