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"
