В этом примере вы научитесь писать программу на JavaScript, которая будет проверять, относится ли переменная к типу функции.
Чтобы понять этот пример, вы должны знать следующие темы программирования JavaScript:
- Оператор типа JavaScript
- Вызов функции Javascript ()
- Объект Javascript toString ()
Пример 1: Использование оператора instanceof
// program to check if a variable is of function type function testVariable(variable) ( if(variable instanceof Function) ( console.log('The variable is of function type'); ) else ( console.log('The variable is not of function type'); ) ) const count = true; const x = function() ( console.log('hello') ); testVariable(count); testVariable(x);
Вывод
Переменная не относится к функциональному типу. Переменная относится к функциональному типу.
В приведенной выше программе instanceof
оператор используется для проверки типа переменной.
Пример 2: Использование оператора typeof
// program to check if a variable is of function type function testVariable(variable) ( if(typeof variable === 'function') ( console.log('The variable is of function type'); ) else ( console.log('The variable is not of function type'); ) ) const count = true; const x = function() ( console.log('hello') ); testVariable(count); testVariable(x);
Вывод
Переменная не относится к функциональному типу. Переменная относится к функциональному типу.
В приведенной выше программе typeof
оператор используется со строгим ===
оператором равенства для проверки типа переменной.
typeof
Оператор дает тип переменного данных. ===
проверяет, равны ли переменные как по значению, так и по типу данных.
Пример 3: Использование метода Object.prototype.toString.call ()
// program to check if a variable is of function type function testVariable(variable) ( if(Object.prototype.toString.call(variable) == '(object Function)') ( console.log('The variable is of function type'); ) else ( console.log('The variable is not of function type'); ) ) const count = true; const x = function() ( console.log('hello') ); testVariable(count); testVariable(x);
Вывод
Переменная не относится к функциональному типу. Переменная имеет функциональный тип.
Object.prototype.toString.call()
Метод возвращает строку , которая определяет тип объекта.