簡體   English   中英

更漂亮消除了數學表達式周圍的括號

[英]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期間引起溢出)(假定pageIndexpageIndex * (itemsPerPage * 2) ,則可能會影響結果(在編程中)。 2或更高)。 因此,我希望在這種情況下,Prettier不會讓他們呆着。 但是使用(pageIndex * itemsPerPage) * 2()根本沒有任何作用。


¹“在編程中” —在數學世界中, pageIndex * (itemsPerPage * 2)的括號也不會有任何區別,因為乘法是可傳遞的 (我想這就是這個詞): a * b * c相同as (a * b) * ca * (b * c) 但是在編程中,我們處理的數值類型在較大范圍內具有有限的范圍和/或有限的精度,因此,兩個乘法運算發生的順序很重要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM