w3resource

JavaScript: Return true if an object looks like a Promise, false otherwise

JavaScript fundamental (ES6 Syntax): Exercise-189 with Solution

Write a JavaScript program that will return true if an object looks like a Promise, false otherwise.

  • Check if the object is not null, its typeof matches either object or function and if it has a .then property, which is also a function.

Sample Solution:

JavaScript Code:

//#Source https://bit.ly/2neWfJ2 
const isPromiseLike = obj =>
  obj !== null &&
  (typeof obj === 'object' || typeof obj === 'function') &&
  typeof obj.then === 'function';

console.log(isPromiseLike({
  then: function() {
    return '';
  }
})); 
console.log(isPromiseLike(null));
console.log(isPromiseLike({}));

Sample Output:

true
false
false

Flowchart:

flowchart: Return true if an object looks like a Promise, false otherwise

Live Demo:

See the Pen javascript-basic-exercise-189-1 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript program that will return 1 if the array is sorted in ascending order, -1 if it is sorted in descending order or 0 if it is not sorted.
Next: Write a JavaScript program to get a boolean determining if the passed value is primitive or not.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



JavaScript: Tips of the Day

How to check whether a string contains a substring in JavaScript?

ECMAScript 6 introduced String.prototype.includes:

const string = "foo";
const substring = "oo";

console.log(string.includes(substring));

includes doesn't have Internet Explorer support, though. In ECMAScript 5 or older environments, use String.prototype.indexOf, which returns -1 when a substring cannot be found:

var string = "foo";
var substring = "oo";

console.log(string.indexOf(substring) !== -1);

Ref: https://bit.ly/3fFFgZv