Ключевое слово класса в Javascript

Согласно этой статье, это должен быть способ Javascript 2.0 для определения класса. Однако я никогда не видел этого на практике. Таким образом, вопрос. Как использовать ключевое слово класса и какова разница между Javascript 1.x?

javascript,class,

34

Ответов: 7


44 принят

Причина, по которой вы никогда не видели classключевое слово, используемое на практике, состоит в том, что все текущие реализации JavaScript: 1.x.

JavaScript 2.0 был объединен с ECMAScript 4, который был довольно непопулярным и никогда не попадал в реальный мир.

Итак, чтобы ответить на ваш вопрос, как вы используете classключевое слово? Вы не можете.


38 ов

Я знаю, что это старый пост, но на сегодняшний день, т.е. с появлением ECMAScript 6, мы можем объявить классы javascript.

Синтаксис выглядит следующим образом:

class Person{
  constructor(name){
    this.name = name;
  }
  printName(){
    console.log('Name is '+this.name);
  }
}
var john = new Person('John Doe');
john.printName(); // This prints 'Name is John Doe'

Полное руководство к этому можно найти в этом сообщении


Вы никогда не видели его на практике, потому что практически ничего не поддерживает JavaScript 2.0. Этот проект составлен из спецификации, которая умерла, прежде чем быть чем-то другим, кроме черновика.


2

Вы все равно можете создавать классы в JS, используя прототип!

var foo = function() {
  this.hurrah = "yay!";
  return this;
}

foo.prototype.doit() {
  alert(this.hurrah);
}

1

Если у вас есть язык Java или C #, вот как определить класс в JavaScript

var MyClass = function (f, l){//constructor 
    //private members
    var firstName = f,
        lastName = l,
        fullName = function () { //fullName is a private function
            return firstName + " " + lastName;
        };
    return {
        //public members
        getFullName: fullName 
    };
}

var output = document.getElementById('Output'); //<div id="Output"></div>
var myName = new MyClass("First", "Last");
output.innerHTML = myName.getFullName();
JavaScript, класс,
Похожие вопросы