class는 es6의 새로운 기능입니다. ES6에서는 클래스(class)가 객체의 템플릿으로 도입되었으며 클래스는 class 키워드를 통해 정의될 수 있습니다. 새로운 클래스 작성 방법을 사용하면 객체 지향 프로그래밍의 구문과 더 유사해 객체 프로토타입 작성이 더 명확해집니다. 이해할 수 있는. 클래스는 ECMAScript의 새로운 기본 구문 설탕 구조입니다. 비록 ES6 클래스가 공식적인 객체 지향 프로그래밍을 지원하는 것처럼 보이지만 실제로는 여전히 그 뒤에 있는 프로토타입과 생성자의 개념을 사용하므로 객체 프로토타입이 더 명확해졌습니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.
class는 es6의 새로운 기능입니다. ES6에서는 객체에 대한 템플릿으로 클래스(class)가 도입되었으며, 클래스는 class 키워드를 통해 정의할 수 있습니다.
ES6에서는 전통 언어에 가까운 작성 방식을 제공합니다. 새로 도입된 클래스 키워드에는 클래스를 형식적으로 정의하는 기능이 있습니다. 클래스는 ECMAScript의 새로운 기본 구문 설탕 구조입니다. 비록 ECMAScript 6 클래스가 공식적인 객체 지향 프로그래밍을 지원하는 것처럼 보이지만 실제로는 여전히 그 뒤에 있는 프로토타입과 생성자의 개념을 사용하므로 객체 프로토타입이 더 명확하고 더 많이 작성될 수 있습니다. 객체 지향 프로그래밍의 구문과 같습니다.
JS는 프로토타입 기반의 객체지향 언어이고, 프로토타입 객체의 특징은 모든 속성을 새로운 객체와 공유하는 것이기 때문입니다. .
ES6에서는 클래스라는 개념을 도입했습니다. 클래스는 우리가 일반적으로 이해하는 것과 더 일치하는 객체 지향 언어입니다.
class Person{ //定义一个名为Person的类 // 构造函数,用来接受参数 constructor(x,y){ this.x = x; //this代表的是实例对象 this.y = y; } todoSome(){ //这是个类的方法,不需要加function,有多个方法也不用逗号隔开 alert(this.x + "的年龄是" +this.y+"岁"); } } export default Person;
정적 메서드 및 정적 속성은 정적 키워드
2.1 정적 메서드
static classMethod(){ console.log('123456') }
let p = new Point(); p.classMethod(); // 报错
2.2 정적 속성
static prop = 1 ; // 静态属性
import classtest from "./classtest"; //先引入父类 class Man extends classtest{ constructor(x,y){ //构造函数尽量与父类参数保持一致 super(); //利用super()关键字,这个必须放在子类构造函数中的第一位置 this.x = x; this.y = y; } } export default Man;
변수가 private으로 정의된 경우(클래스의 중괄호 외부에 정의됨) setter 없이 getter만 사용할 수 있습니다.
let data=[1,2,3,4]; //放在类外面,属于私有变量,可以只读取 class Person{ // 构造函数 constructor(x,y){ this.x = x; this.y = y; } get x(){ console.log('获得name'); return this._name; //get读取属性 } set x(x){ console.log("设置name"); this._name=x; //set给属性赋值 } get data(){ return data; //只读属性,属性返回的值只能是私有变量 } todoSome(){ alert(this.x + "的年龄是" +this.y+"岁"); } static dayin(){ alert("dayin"); } } export default Person;사용 방법:
var test= new this.$myutils.classtest('haha','18'); test.x="haha3"; //改变了实例化时候的x的值 test.todoSome(); //输出:haha3的年龄是18岁。这里就已经不是实例化时候的haha了 console.log(test.data); //结果:打印[1,2,3,4]
5. 참고 사항:
【추천 학습:
javascript 고급 튜토리얼】
위 내용은 클래스가 es5인가요, 아니면 es6인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!