Sure, you can use definitions so narrow that your kids will laugh at you ("You called THAT a computer? Only 8 CPU cores? Ha ha Ha!").
The wider historical definition of computer would include machines from Univacs, IBM 360/370 mainframes, to Cray-1's, ASCII White, etc. I can take an old mainframe era Fortran number crunching program, cross compile it, and (with a dev certificate) run it on my iPhone 4... faster than it ran on a Cray-1.
I can type Javascript directly into my iPhone (there's an app for that) and it will run those Javascript programs faster than a couple of my old PowerMacs. I probably have more apps on my iPhone than I had on those PowerMac as well.
I remember an old definition for a personal computer: You have to be able to buy it with a credit card. It has to be small and light enough for you to be able to carry it out and put it in the trunk of your car. And it has to run Basic. (The round-about way to run Basic on an iPhone is to load a web page that includes a Basic interpreter written in Javascript. But it is possible.)
I can see very few reasons not to call an iPhone a computer just because it can't run Photoshop or iMovie.