假設語氣 — 如果沒有~、當時如果沒有~
「如果沒有 / 當時如果沒有」用If it were not for / If it had not been for 來表達,也可以換成倒裝形(Were it not for / Had it not been for )和 without / but for 。它是假設某個對象不存在,藉此強調那個對象的重要性。
概念說明
「如果沒有~ / 當時如果沒有~」用If it were not for ~ / If it had not been for ~來表達,也可以換成倒裝形(Were it not for ~ / Had it not been for ~)和 without ~ / but for ~。它是假設某個對象不存在,藉此強調那個對象的重要性。
A. 現在沒有的話 — If it were not for / Were it not for / Without / But for
「現在如果沒有~」這種與現在事實相反的假設,基本上用 If it were not for ~ 句型,也可以換成倒裝形 Were it not for ~ 或 Without ~ / But for ~。後面的主要子句接 would / could / might + 原形動詞。If it were not for = Were it not for = Without = But for。
| 形態 | 正式程度 | 例句 |
|---|---|---|
| If it were not for | 標準 | If it were not for air, we would die. |
| Were it not for | 正式、書面 | Were it not for air, we would die. |
| Without | 日常、口語 | Without air, we would die. |
| But for | 正式 | But for air, we would die. |
- If it were not for coffee, I couldn't wake up. (如果沒有咖啡,我就起不來。)
- Were it not for your patience, this project would fail. (如果沒有你的耐心,這個專案就會失敗。)
- Without the internet, life would be very different. (如果沒有網路,生活會非常不一樣。)
- But for the rain, we could enjoy the picnic. (要不是下雨,我們就可以好好享受野餐了。)
B. 過去沒有的話 — If it had not been for / Had it not been for / Without / But for
「當時如果沒有~」這種與過去事實相反的假設,基本上用 If it had not been for ~ 句型,也可以換成倒裝形 Had it not been for ~ 或 Without ~ / But for ~。主要子句接 would / could / might + have + 過去分詞。If it had not been for = Had it not been for = Without = But for。
| 形態 | 正式程度 | 例句 |
|---|---|---|
| If it had not been for | 標準 | If it had not been for him, I would have quit. |
| Had it not been for | 正式、書面 | Had it not been for him, I would have quit. |
| Without | 日常、口語 | Without him, I would have quit. |
| But for | 正式 | But for him, I would have quit. |
- If it had not been for your advice, I would have made a big mistake. (如果當時沒有你的建議,我就會犯下大錯。)
- Had it not been for the alarm, I would have overslept. (如果當時沒有鬧鐘,我就會睡過頭。)
- Without her support, we couldn't have finished the project. (如果當時沒有她的支持,我們就沒辦法完成這個專案。)
- But for the doctor, he might have died. (要不是那位醫生,他可能就死了。)
C. Without / But for 兩種時態都能用
Without ~ / But for ~ 的形態和時態無關,所以到底是與現在相反還是與過去相反,只能靠主要子句的助動詞時態來判斷。would + 原形動詞是與現在相反,would have + 過去分詞則是與過去相反。
| 主要子句的助動詞 | 時態判斷 | 例句 |
|---|---|---|
| would / could / might + 原形動詞 | 與現在相反 | Without you, I would be lost. |
| would / could / might + have + 過去分詞 | 與過去相反 | Without you, I would have been lost. |
- Without you, my life would be empty. (如果沒有你,我的人生會很空虛。)
- Without you, my life would have been empty. (如果當時沒有你,我的人生就會很空虛。)
- But for his help, I couldn't finish the work. (要不是有他的幫忙,我沒辦法完成那份工作。)
- But for his help, I couldn't have finished the work. (要不是當時有他的幫忙,我就沒辦法完成那份工作。)
重點整理
- 1現在沒有的話 = If it were not for = Were it not for = Without = But for,主要子句接 would / could / might + 原形動詞。
- 2過去沒有的話 = If it had not been for = Had it not been for = Without = But for,主要子句接 would / could / might + have + 過去分詞。
- 3Without 和 But for 與時態無關,到底是與現在相反還是與過去相反,由主要子句的助動詞形態決定。(例: Without you, I would be lost / Without you, I would have been lost)
- 4Were it not for 和 Had it not been for 是正式、書面的說法,在會話中 Without 自然得多。But for 雖然正式,但在會話中也常出現。
- 5會話中的 If it wasn't for 可以接受,但正式的說法原則上是 If it were not for。不能像 If it had been for 那樣把 not 漏掉。