[英]Prettier removes parentheses around mathematical expression
我正在嘗試基於React中的數學表達式對數組進行切片。 但是,更漂亮的擴展名不允許我這樣做,因為它刪除了括號,使表達式不正確。
這是示例:
const paginateItems = items.slice(
pageIndex * itemsPerPage,
(pageIndex * itemsPerPage) * 2
)
更漂亮的改變是
const paginateItems = items.slice(
pageIndex * itemsPerPage,
pageIndex * itemsPerPage * 2
)
我該如何解決這個問題,以免強迫我的表達不正確?
我該如何解決這個問題,以免強迫我的表達不正確?
它不會使您的表達不正確。 *
是左關聯的,表示a * b * c
與(a * b) * c
完全相同。 該代碼中的括號對結果沒有任何影響。
如果您的表達式為pageIndex * (itemsPerPage * 2)
,則如果itemsPerPage
確實很大(通過在itemsPerPage * 2
期間引起溢出而不是在pageIndex * itemsPerPage
期間引起溢出)(假定pageIndex
為pageIndex * (itemsPerPage * 2)
,則可能會影響結果(在編程中)。 2或更高)。 因此,我希望在這種情況下,Prettier不會讓他們呆着。 但是使用(pageIndex * itemsPerPage) * 2
, ()
根本沒有任何作用。
¹“在編程中” —在數學世界中, pageIndex * (itemsPerPage * 2)
的括號也不會有任何區別,因為乘法是可傳遞的 (我想這就是這個詞): a * b * c
相同as (a * b) * c
與a * (b * c)
。 但是在編程中,我們處理的數值類型在較大范圍內具有有限的范圍和/或有限的精度,因此,兩個乘法運算發生的順序很重要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.