首頁  >  文章  >  web前端  >  JS 中的常量以及柏拉圖和亞里斯多德與它有什麼關係

JS 中的常量以及柏拉圖和亞里斯多德與它有什麼關係

WBOY
WBOY原創
2024-08-09 08:21:22653瀏覽

Constants in JS and what do Plato and Aristotle have to do with it

在我看來,後輩將程式碼元件視為物質性的東西,而前輩則更處理理想的類別。
或者也許這取決於一個人的世界觀而不是他的專業水平?

有時在程式碼審查期間,我會遇到程式碼,其中開發人員使用常數TABLE_WIDTH 而不是常量CAR_WIDTH,因為這是他找到的第一個具有合適值的常量。

當開發人員根據常數的值而不是名稱來選擇常數時,這是一個常見問題。事實證明,開發人員不理解常量的主要用途。在他看來,常量只是為了重複使用和可讀性。

讓我們回想一下柏拉圖和亞里斯多德對此的說法。

他們有自己的常數,名稱為SHIP_OF_THESEUS
https://en.wikipedia.org/wiki/Ship_of_Theseus
它在希臘語中的命名可能不同,但我們會用拉丁語寫它,因此將其翻譯成英語。

const SHIP_OF_THESEUS = {
    name: "Ship of Theseus",
    parts: ["mast", "hull", "sail"]
};

本例中的常數SHIP_OF_THESEUS象徵忒修斯之船的不變身分。它的值隨著時間的推移而變化,代表著物質的變化。

// Day 1: Initial state of the ship
const SHIP_OF_THESEUS = {
    name: "Ship of Theseus",
    parts: ["mast", "hull", "sail"]
};

// Day 2: Developer changes one part of the ship
const SHIP_OF_THESEUS = {
    name: "Ship of Theseus",
    parts: ["new mast", "hull", "sail"]
};

// Day 3: Developer changes another part of the ship
const SHIP_OF_THESEUS = {
    name: "Ship of Theseus",
    parts: ["new mast", "new hull", "sail"]
};

// Day 4: Developer changes structure of the part of the ship
const SHIP_OF_THESEUS = {
    name: "Ship of Theseus",
    parts: {
        mast: "new mast",
        hull: "new hull",
        sail: "sail"
    }
};

理想(常數):

SHIP_OF_THESEUS:每一天,這個常數都代表著忒修斯之船的理想本質。儘管其價值發生了變化,但船舶的概念並未改變。

材料(常數值):

零件:船舶每天變化的零件清單。這反映了船舶的物質體現,隨著時間的推移而變化。

柏拉圖論理想與物質:

恆定的SHIP_OF_THESEUS作為理想形式保持不變:每天它代表忒修斯之船。然而,它的價值(零件)可能會發生變化,反映材料變化。

亞里斯多德論形式與物質:

亞里斯多德會說,船的身份是透過其形式函數保存的(非常類似於JS中的鴨子類型,不是嗎?)。在我們的範例中,雖然船舶的各個部分發生了變化,但物件的形式(其結構和功能)保持不變。儘管零件發生了變化,但每天它仍然是同一艘忒修斯之船。

那麼使用常量的實際好處是什麼呢?

主要好處不是可讀性和可重複使用性。主要好處是將代碼分離為理想材料(根據柏拉圖)或形式物質(根據亞里斯多德) .

透過這種分離,我們可以在不改變形式的情況下改變內容。
而且我們可以在整個程式中使用表單而不用擔心問題。

以上是JS 中的常量以及柏拉圖和亞里斯多德與它有什麼關係的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn