에스6-es10 필기 3(류의 계승)(류)

17390 단어 es6-es10
클래스의 정의와 실례화es5에서 클래스를 어떻게 설명합니까
//              ,            
let Animal = function (type) {
	this.type = type
	this.eat = function () {
	}
}
let dog = new Animal ('dog')
let Animal = function (type) {
	this.type = type
}
//   eat         ,           eat      ,          。
Animal.prototype.eat = function () {
	console.log('eat food')
}
let dog = new Animal ('dog')
//  eat          eat  (   eat  )
dog.constructor.prototype.eat = function () {
console.log('error')
}
dog.eat()

클래스 정의
class Aniaml {
//constructor       ,         
	constructor(type){
		this.type=type
	}
	//         ,          
	eat(){
		console.log('eat food')
	}
}
let dog = new Animal ('dog')

2. 정적 방법 주석: 정적 방법은 클래스에 속하고 클래스 이름을 통해es5에서 정적 방법을 정의하고 정적 방법을 사용해야 한다.
let Animal = function (type) {
	this.type = type
}
Animal.prototype.eat = function () {
//      
//  :              ,           。
	Animal.walk()
	console.log('eat food')
}
//      
Animal.walk = function () {
	console.log('walking')
}
let dog = new Animal ('dog')

es6의 정의 정적 방법 및 정적 방법 사용
class Aniaml {
	constructor(type){
		this.type=type
	}
	eat(){
	//      ,          
		Aniaml.walk()
		console.log('eat food')
	}
	//es6                      
	static walk(){
		console.log('walking')
	}
}
let dog = new Animal ('dog')

3. es5와 es6의 계승 es5의 계승 구조 함수, 원형과 실례의 관계: 모든 구조 함수는 원형 대상이 있고 모든 원형 대상은 구조 함수를 가리키는 지침이 있으며 모든 실례는 원형 대상을 가리키는 내부 지침을 포함한다.
let Animal = function (type) {
	this.type = type
}
Animal.prototype.eat = function () {
	console.log('eat food')
}
//      
let Dog = function (){
//          , this  dog
Animal.call(this,'dog')
this.run = function () {
console.log('run')
}
}
//        
Dog.prototype = Animal.prototype
let dog = new Dog('dog')
dog.eat()

es6의 계승
class Aniaml {
	constructor(type){
		this.type=type
	}
	eat(){
		console.log('eat food')
	}
}
class Dog extends Animal {
	constructor (type){
	//super          ,     
		super(type)
		this.age = 2
	}
}
let dog = new Dog ('dog')
dog.eat()

4. 함수 매개 변수 기본값es5의 매개 변수 기본값 설정
function add (x,y,z){
	if(y===undefined){
	y=1
	}
	if(z===undefined){
	z=2
	}
return x+y+z
}

es6 매개 변수의 기본값
//              ,   y     7,z     8
//  :                      z=x+y
function add (x,y=7,z=8){
	return x+y+z
}
//             undefined
console.log(f(1,undefined,43))

좋은 웹페이지 즐겨찾기