[TIL]Javascript Classes
その間、
会議のように、クラス要素はこのように生成され、それを受け入れたと思います.
この機会にJavaScriptで
クラスは、オブジェクトを作成するためのテンプレートです.
クラスは、データとデータを処理するコードを抽象化します.
(from MDN)
ここでは、PersonClassの前の
これはclassの
1 Class => 1 Constructor
2.コンストラクション関数をクラスに追加しないと、デフォルトの空のコンストラクション関数が自動的に追加されます.
3. Hoisting
クラス宣言ではHolistは発生しないため、上記の結果が表示されます.
4.静的方法
静的メソッドはプロトタイプではなく、クラス自体の関数です.
前に静的キーを宣言
クラスが作成されないインスタンスを呼び出します.
5.Getters/Setters
Getter
クラス継承は、キーワード
クラス継承により、コードの再利用性が向上します.
その時、使っていたキーワードは
클래스형 컴포넌트
を使用して複数のプロジェクトを行いました.会議のように、クラス要素はこのように生成され、それを受け入れたと思います.
この機会にJavaScriptで
Class
の概念をまとめます.🔥Class
クラスは、オブジェクトを作成するためのテンプレートです.
クラスは、データとデータを処理するコードを抽象化します.
(from MDN)
class PersonClass {
constructor(name, age, gender){
this.name = name;
this.age = age;
this.gender = gender;
}
getInfo(){
return this.name + this.age + this.gender
}
}
//인스턴스 생성
const Person1 = new PersonClass("Jun",27,"Male")
Person1.getInfo() //'Jun27Male'
オブジェクトは、作成が容易な템플릿
または틀
と見なすことができる.クラス属性
ここでは、PersonClassの前の
new
キーワードが必要です.これはclassの
constructor
を呼び出すためです.1 Class => 1 Constructor
2.コンストラクション関数をクラスに追加しないと、デフォルトの空のコンストラクション関数が自動的に追加されます.
3. Hoisting
const Person1 = new PersonClass() // ReferenceError
class PersonClass() //선언부
関数宣言では、Hostingが発生し、自動的に参照になります.クラス宣言ではHolistは発生しないため、上記の結果が表示されます.
4.静的方法
静的メソッドはプロトタイプではなく、クラス自体の関数です.
前に静的キーを宣言
class PersonClass {
constructor(name, age, gender){
this.name = name;
this.age = age;
this.gender = gender;
}
getInfo(){
return this.name + this.age + this.gender
}
static getGender(v) {
return v.gender
}
}
const Person1 = new PersonClass("Jun",27,"Male")
PersonClass.getGender(Person1)
ここで注意したいのは、PersonClassです.getGenderクラスのインスタンスは呼び出せません.クラスが作成されないインスタンスを呼び出します.
5.Getters/Setters
Getter
class Foo {
constructor(arr=[]){
this._arr = arr;
}
get firstElem(){
return this._arr.length ? this._arr[0] : null;
}
}
const foo = new Foo([1,2]);
console.log(foo.firstElem) // 1
Setterclass Foo {
constructor(arr=[]){
this._arr = arr;
}
get firstElem(){
return this._arr.length ? this._arr[0] : null;
}
set firstElem(elem){
this._arr = [elem, ...this._arr];
}
}
const foo = new Foo([1,2]);
foo.firstElem = 100
console.log(foo.firstElem) // 100
6.クラス継承クラス継承は、キーワード
extends
を使用して実行することができる.クラス継承により、コードの再利用性が向上します.
class PersonClass {
constructor(name, age, gender){
this.name = name;
this.age = age;
this.gender = gender;
}
getInfo(){
return this.name + this.age + this.gender
}
}
// 클래스 상속
class SubPersonClass extends PersonClass{
getInfo(){
return this.name + this.age + this.gender + " this is child class"
}
}
const Person1 = new SubPersonClass("Jun",27,"Male")
Person1.getInfo(); // Jun27Male this is child class
Child Classでは、Parent Classに宣言された関数を直接読み込む必要がある場合があります.その時、使っていたキーワードは
super
でした.class PersonClass {
constructor(name, age, gender){
this.name = name;
this.age = age;
this.gender = gender;
}
getInfo(){
return this.name + this.age + this.gender
}
}
class SubPersonClass extends PersonClass{
getInfo(){
return super.getInfo() + " plus subclass"
}
}
const Person1 = new SubPersonClass("Jun",27,"Male")
Person1.getInfo(); /// Jun27Male plus subclass
Reference
この問題について([TIL]Javascript Classes), 我々は、より多くの情報をここで見つけました https://velog.io/@hello1358/TILJavascript-Classesテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol