graphics – Geometric clipping of triangles intersecting near plane

I was reading about how rasterization works but there is one topic I can’t quite understanding.
After perspective projection, our point is in clip space as I understand it.
Now we test all points in a triangle like so

rejected = true
for every point:
   if (abs(point.x) <= abs(point.w) &&
      abs(point.x) <= abs(point.w) &&
      abs(point.x) <= abs(point.w)
      point.w > 0) {
      rejected = false;
    }

So the triangle is only rejected if all points are behind the near clipping plane or fall out boundaries, but it can happen that one point is behind the near clipping plane and others are in front.
Now there is a part I don’t understand.
To deal with this we somehow clip points in 3d space by constructing new triangles as I understand.

So how is this exactly works?
And why we can’t just interpolate our z values to test if the point is behind or in front of the near plane?