new (функция конструктор)

180
30 августа 2021, 19:10

Когда вызываешь функцию с new, то берется конструктор этой функции и создается объект. Как можно вызвать такую функцию так, чтобы она вернула значение аргумента. Например, есть у меня такой код:

function num(a) { 
  this.a = Number(a); 
}; 
 
var b = new num(2).a; 
 
console.log(b) // 2

Как я могу вызвать такую функцию без указания ключа, то есть также, как работает new Number(2), чтобы вернуть аргумент без ключа?

Answer 1

function num(a) { 
  this.a = Number(a); 
} 
num.prototype.valueOf = function() { return this.a; }; 
 
var b = new num(2); 
console.log(b == 2) // true 
console.log(b == 3) // false

READ ALSO
Как из строки вытащить число на javascript

Как из строки вытащить число на javascript

Как из строки такого вида "20:153" "1568:23" вытащить число после двоеточия?

88
Вывод даты + 60 дней в input value [дубликат]

Вывод даты + 60 дней в input value [дубликат]

Как можно реализовать (скриптом) вывод сегодняшней даты +60 днейТо есть, если сегодня, например, 07

81
Отправка email через php

Отправка email через php

Имеется форма

102
Как сделать поиск города рФ?1

Как сделать поиск города рФ?1

Каким образом реализовать на чистой верстке такой функционал?

79