Это "Ключевое слово в JavaScript - Как использовать" это "Ключевое слово? - Примеры

Содержание:

Anonim

Что такое ключевое слово «this» в JavaScript?

Поскольку мы знаем, что объекты являются основными строительными блоками в JavaScript, существует также специальный объект, называемый «this», и значение «this» можно увидеть в каждой строке выполнения JavaScript, которая снова определяется на основе того, как код выполняется. В этой теме мы узнаем об этом ключевом слове в JavaScript.

Важность этого слова в JavaScript

  • Объект this в JavaScript имеет много важных ролей и применений. Он в основном используется для указания на экземпляр объекта из его собственного метода или конструктора. Наряду с указанием «this» также можно использовать для отслеживания выполнения контекста, основанного на том, где вызывается функция.
  • Следующее, что связано с функцией this в JavaScript, это то, что ссылка на контекст выполнения может измениться. И, наконец, ссылка на контекст выполнения также может быть установлена, когда на нее ссылается функция обратного вызова, даже если эта функция определена внутри объекта конструктора.

Зачем использовать «это» ключевое слово в JavaScript?

  • В JavaScript ключевое слово «this» используется во многих контекстах, чтобы наилучшим образом использовать контексты. По сути, ключевое слово «this» используется для ссылки на некоторый объект или функцию в JavaScript. Как само слово (это), мы можем понять, что оно относится к чему-то. Чтобы понять «это» лучше с практической точки зрения, мы можем рассмотреть пример, где мистер Х сыграл в крикет, и он выиграл игру.
  • Итак, здесь вместо того, чтобы снова использовать г-на Х, мы использовали «он», что относится только к г-ну Х. Это помогает нам не повторять одно и то же снова и снова. Точно так же и в JavaScript мы можем использовать функцию или объект this для ссылки на какую-либо другую функцию или объект, значение которого вызывается в этой функции или объекте Обычно «this» используется внутри функции или метода, но также может использоваться и вне функции (в глобальной области видимости).

Как использовать «это» ключевое слово?

  • Поскольку мы знаем, что JavaScript является языком сценариев, поэтому нет необходимости в компиляции кодов, он выполняется во время выполнения. Это может быть выполнено непосредственно Интерпретатором, строка за строкой. А среда или область, в которой выполняются коды JavaScript, называются «контекстом выполнения».
  • Среда выполнения JavaScript поддерживает стек контекстов выполнения и поддерживает текущий стек на вершине. Объект, на который ссылается «this», изменяется каждый раз при изменении контекста выполнения.
  • Проще говоря, мы можем предположить, что, когда функция создается одновременно, также создается ключевое слово «this» (за сценой), которое ссылается на объект, где работает функция. Ключевое слово this работает в JavaScript иначе, чем в других языках программирования.

Он имеет различные значения в зависимости от того, где мы его используем, например:

  • «this» относится к объекту владельца в методе.
  • «это» относится к глобальному объекту в одной ситуации.
  • «this» также относится к глобальным объектам в простой функции.
  • «this» относится к элементу в событии, которое получает событие.
  • «this» не определено в функции строгого режима.

1. Используется с полем

Пример : ниже «это» относится к объекту, называемому человеком. И человек является владельцем метода fullName.

var employee = (
firstName: “Raju”,
lastName: “Chaudhury”,
id: 123
fullName: function() (
return this.firstName + “ ” + this.lastName;
)
)

Краткий пример для поля формы:


check to alert this object name

Введите имя и отметьте опцию радио, чтобы предупредить вашу запись

Отметьте это, чтобы предупредить ввод текстового поля

Обратите внимание на обработчик события отправки при открытии формы, чтобы увидеть действие, выполненное при нажатии кнопки отправки

2. Используется для вызова конструктора

Обычно, когда мы используем ключевое слово «new» для создания экземпляра для объекта функции, тогда мы используем функцию в качестве конструктора.

В приведенном ниже примере мы объявляем функцию Bike, а затем вызываем ее как конструктор:

function Bike(name)(
this.name = name;
)
Bike.prototype.getName = function()(
return this.name;
)
var bike = new Bike('Pulsar');
console.log(bike.getName());

В приведенном выше примере новый Bike ('Pulsar') является конструктором функции Bike. Здесь JavaScript создает новый объект и помещает ключевое слово this во вновь созданный объект. Итак, теперь мы можем вызвать Bike () как функцию или как конструктор. Здесь, в случае, если мы удалим ключевое слово 'new', будет отображаться ошибка, как показано ниже:

var bajaj = Bike('Bajaj');
console.log(bajaj.name);

/ * Это будет отображаться как TypeError: Невозможно прочитать свойство 'name' из неопределенного * /

Это потому, что эта функция в Bike () помещается в глобальный объект, результаты bajaj.name не определены.

Чтобы функция Bike () всегда вызывалась с помощью конструктора, мы проверяем при запуске функции Bike (), как показано ниже:

function Bike(name)(
if( ! (this instanceof Bike)(
throw Error(“We should use new operator to call a function”);
)
this.name = name;
)

Существует мета-свойство, известное как «new.target», которое позволяет определять, вызывается ли функция как простой вызов или конструктор.

Здесь мы можем отредактировать функцию Bike (), которая использует мета-свойство new.target, как показано ниже

function Bike(name)(
if( ! new.target)(
throw Error(“We should use new operator to call a function”);
)
this.name = name;
)

3. Используется для возврата текущего экземпляра класса

Выражение класса также является способом определения класса в JavaScript. Он также может быть назван или не назван. Именованный является локальным по отношению к телу своего класса, и t может быть получен через свойства класса.

/ * пример выражения безымянного класса * /

let Mobile = class (
constructor(cost, weight)(
this.cost = cost;
this.weight = weight;
)
);
console.log(Mobile.name); //Output: Mobile

/ * пример для выражения именованного класса * /

let Mobile = class Mobile2(
constructor(cost, weight)(
this.cost = cost;
this.weight = weight;
)
);
console.log(Mobile.name);

Выход: Mobile2

4. Используется как параметр метода

Когда мы вызываем метод объекта, JavaScript помещает this в объект, которому принадлежит метод.

Пример:

var Bike = (
name: 'Pulsar',
getName: function()(
return this.name;
)
)
console.log(bike.getName()); /*Pulsar*/

Здесь этот внутренний метод getName () ссылается на объект велосипеда.

Вывод

Ключевое слово «this» в JavaScript - это мощный инструмент, который обычно помогает разработчикам ссылаться на свойства в определенных контекстах, но иногда он может быть довольно сложным при применении через различные уровни области видимости. Значение this также может быть установлено явно с помощью call (), bind () и apply (). Обычно значение this определяется контекстом выполнения функции. Функции стрелок обычно не связывают «this» и вместо этого «this» связывается лексически.

Рекомендуемые статьи

Это руководство к ключевому слову «это» в JavaScript. Здесь мы обсуждаем важность и как использовать ключевое слово «this» в JavaScript вместе с примером. Вы также можете посмотреть на следующую статью.

  1. Инкапсуляция в JavaScript
  2. Вставка Сортировка в JavaScript
  3. Палиндром в JavaScript
  4. Компиляторы JavaScript
  5. это ключевое слово в Java | Примеры этого ключевого слова
  6. Правила instanceOf в Java с примером