sharepoint online – How to correctly pass argument to final ‘if’ conditional when column formatting using JSON?

Based on the example here, I am using the following JSON to add icons next to column values, depending on their value:

{
    "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
    "elmType": "div",
    "children":
    (
        {
            "elmType": "span",
            "style":
            {
                "display": "inline-block",
                "padding": "0 10px 0 0"
            },
            "attributes":
            {
                "iconName": "=if(@currentField == 'Value 01', 'TextDocument', if(@currentField == 'Value 02', 'FileImage', if(@currentField == 'Value 03', 'MSNVideos', if(@currentField == 'Value 04', 'Website', 'Website'))))"
            }
        },
        {
            "elmType": "span",
            "txtContent": "@currentField"
        }
    )
}

There is an anomaly with the last if conditional, whereby there are two arguments, ie:

if(@currentField == 'Value 04', 'Website', 'Website')

Whereas, in order to look like the other if conditionals, there should be just one, ie:

if(@currentField == 'Value 04', 'Website')

However, when I remove that second argument, and use the code directly above this sentence, the desired formatting is not applied (no icons are shown at all).

Why does the final if conditional seemingly need two arguments?

Note that the original example provided at the beginning of this question also has two arguments for the last conditional.