JS властивість Boolean.prototype
Загальний опис
Boolean.prototype
- це прототип об'єкта Boolean
, який визначає додаткові методи та властивості для булевих об'єктів. Він дає можливість розширювати функціональність всіх булевих об'єктів в JavaScript. Це означає, що ви можете додавати власні методи та властивості до булевих об'єктів, що робить код гнучкішим та легшим для розширення.
Boolean.prototype
використовується в основному для додавання додаткової функціональності до булевих об'єктів. Наприклад, якщо ви хочете додати метод, який перевіряє, чи є булеве значення true
або false
, ви можете зробити це так:
Boolean.prototype.isTrue = function() {
return this.valueOf() === true;
};
З цим новим методом, ви можете легко перевірити булеві об'єкти:
let myBool = true;
console.log(myBool.isTrue()); // виведе "true"
Важливо розуміти, що коли ви розширюєте Boolean.prototype
, ці зміни впливатимуть на всі булеві об'єкти в вашому коді. Тому слід бути обережним при додаванні нової функціональності, щоб уникнути непередбачуваних побічних ефектів. Додатково, важливо не перезаписувати вже існуючі методи чи властивості, що можуть бути в Boolean.prototype
.
Порада: | Для початківців важливо усвідомити, що розширення
|
Порада: | Перед тим як додати новий метод або властивість до |
Порада: | Інші бібліотеки можуть також розширювати |
Синтаксис
Boolean.prototype
Значення
Return
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
4 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
У цьому прикладі ми додаємо новий метод до Boolean.prototype
під назвою toYesNo
. Цей метод перевіряє поточне булеве значення за допомогою методу valueOf()
і повертає "Так", якщо значення true
або "Ні", якщо false
.
Boolean.prototype.toYesNo = function() {
return this.valueOf() ? "Так" : "Ні";
}
const myBool = true;
console.log(myBool.toYesNo()); // виведе "Так"
Метод toggle
розширює Boolean.prototype
, дозволяючи переключати булеве значення на протилежне. У використаному коді, якщо switcher
має значення true
, виклик методу toggle()
змінить його на false
і навпаки.
Boolean.prototype.toggle = function() {
return !this.valueOf();
}
let switcher = true;
switcher = switcher.toggle();
console.log(switcher); // виведе "false"
Метод isBoolean
додається до Boolean.prototype
для перевірки, чи є об'єкт екземпляром конструктора Boolean
. У JavaScript, коли ви створюєте булеве значення за допомогою літералу (наприклад, true
або false
), воно не є екземпляром Boolean
. Проте, коли ви створюєте булеве значення за допомогою конструктора Boolean
, воно є екземпляром Boolean
.
Boolean.prototype.isBoolean = function() {
return this instanceof Boolean;
}
const boolFromLiteral = true;
const boolFromConstructor = new Boolean(true);
console.log(boolFromLiteral.isBoolean()); // виведе "false"
console.log(boolFromConstructor.isBoolean()); // виведе "true"