Skip to content

Commit e6157c8

Browse files
committed
it improves grammar
1 parent 38e228e commit e6157c8

File tree

1 file changed

+21
-21
lines changed

1 file changed

+21
-21
lines changed

1-js/99-js-misc/05-bigint/article.md

+21-21
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
[BigInt recentemente adicionado ao caniuse="bigint"]
44

5-
BigInt é um tipo numérico especial que oferece suporte para inteiros de comprimento arbitrário.
5+
BigInt é um tipo numérico especial que oferece suporte para inteiros de tamanho arbitrário.
66

7-
Um bigint é criado anexando `n` ao final de um literal inteiro ou chamando a função `BigInt` que cria bigints a partir de strings, números, etc.
7+
Um bigint é criado anexando `n` ao final de um literal inteiro ou chamando a função `BigInt` que cria BigInts a partir de strings, números, etc.
88

99
```js
1010
const bigint = 1234567890123456789012345678901234567890n;
@@ -16,23 +16,23 @@ const bigintFromNumber = BigInt(10); // o mesmo que 10n
1616

1717
## Operadores matemáticos
1818

19-
`BigInt` pode ser usado principalmente como um número regular, por exemplo:
19+
`BigInt` pode ser usado principalmente como um número comum, por exemplo:
2020

2121
```js run
2222
alert(1n + 2n); // 3
2323

2424
alert(5n / 2n); // 2
2525
```
2626

27-
Perceba: a divisão `5/2` retorna o resultado arredondado para zero, sem a parte decimal. Todas as operações com bigints retornam bigints.
27+
Perceba: a divisão `5/2` retorna o resultado arredondado para zero, sem a parte decimal. Todas as operações com BigInts retornam BigInts.
2828

29-
Não podemos misturar bigints e números regulares:
29+
Não podemos misturar BigInts e números comuns:
3030

3131
```js run
3232
alert(1n + 2); // Erro: Não é possível misturar BigInt e outros tipos
3333
```
3434

35-
Devemos convertê-los explicitamente se necessário: usando `BigInt()` ou `Number()`, assim:
35+
Devemos convertê-los explicitamente, se necessário, usando `BigInt()` ou `Number()`, assim:
3636

3737
```js run
3838
let bigint = 1n;
@@ -47,29 +47,29 @@ alert(Number(bigint) + number); // 3
4747

4848
As operações de conversão são sempre silenciosas, nunca dão erros, mas se o bigint for muito grande e não couber no tipo número, então bits extras serão cortados, então devemos ter cuidado ao fazer a conversão.
4949

50-
````smart header="O operador unário mais não é suportado em bigints"
51-
O operador unário mais `+valor` é uma maneira bem conhecida de converter `valor` para um número.
50+
````smart header="O operador mais unário não é suportado em BigInts"
51+
O operador mais unário `+valor` é uma maneira bem conhecida de converter `valor` para um número.
5252
53-
Para evitar confusão, não é suportado em bigints:
53+
Para evitar confusão, não é suportado em BigInts:
5454
```js run
5555
let bigint = 1n;
5656
5757
alert( +bigint ); // erro
5858
```
59-
Então, devemos usar `Number()` para converter um bigint em um número.
59+
Então, devemos usar `Number()` para converter um BigInt em um número.
6060
````
6161

6262
## Comparações
6363

64-
Comparações, como `<`, `>` funcionam bem com bigints e números:
64+
Comparações, como `<`, `>` funcionam bem com BigInts e números:
6565

6666
```js run
6767
alert( 2n > 1n ); // true
6868

6969
alert( 2n > 1 ); // true
7070
```
7171

72-
Note que, como números e bigints pertencem a tipos diferentes, eles podem ser iguais `==`, mas não estritamente iguais `===`:
72+
Note que, como números e BigInts pertencem a tipos diferentes, eles podem ser iguais `==`, mas não estritamente iguais `===`:
7373

7474
```js run
7575
alert( 1 == 1n ); // true
@@ -79,7 +79,7 @@ alert( 1 === 1n ); // false
7979

8080
## Operações booleanas
8181

82-
Quando dentro de `if` ou outras operações booleanas, bigints se comportam como números.
82+
Quando dentro de `if` ou outras operações booleanas, BigInts se comportam como números.
8383

8484
Por exemplo, em `if`, o bigint `0n` é falso, outros valores são verdadeiros:
8585

@@ -88,7 +88,7 @@ if (0n) {
8888
// nunca executa
8989
}
9090
```
91-
Operadores booleanos, como `||`, `&&` e outros também funcionam com bigints semelhante aos números:
91+
Operadores booleanos, como `||`, `&&` e outros também funcionam com BigInts semelhante aos números:
9292

9393
```js run
9494
alert( 1n || 2 ); // 1 (1n é considerado verdadeiro)
@@ -98,17 +98,17 @@ alert( 0n || 2 ); // 2 (0n é considerado falso)
9898

9999
## Polyfills
100100

101-
Fazer polyfill para bigints é complicado. A razão é que muitos operadores JavaScript, como `+`, `-` e assim por diante se comportam de maneira diferente com bigints em comparação com números regulares.
101+
Fazer um polyfill para BigInts é complicado. A razão é que muitos operadores JavaScript, como `+`, `-` e assim por diante se comportam de maneira diferente com BigInts em comparação com números regulares.
102102

103-
Por exemplo, a divisão de bigints sempre retorna um bigint (arredondado se necessário).
103+
Por exemplo, a divisão de BigInts sempre retorna um bigint (arredondado se necessário).
104104

105105
Para emular tal comportamento, um polyfill precisaria analisar o código e substituir todos esses operadores com suas funções. Mas fazer isso é trabalhoso e custaria muito em termos de desempenho.
106106

107107
Então, não há um polyfill bem conhecido e bom.
108108

109-
Embora, o caminho inverso é proposto pelos desenvolvedores da biblioteca [JSBI](https://github.com/GoogleChromeLabs/jsbi).
109+
Apesar disso, o caminho inverso é proposto pelos desenvolvedores da biblioteca [JSBI](https://github.com/GoogleChromeLabs/jsbi).
110110

111-
Esta biblioteca implementa números grandes usando seus próprios métodos. Podemos usá-los em vez de bigints nativos:
111+
Esta biblioteca implementa números grandes usando seus próprios métodos. Podemos usá-los em vez de BigInts nativos:
112112

113113
| Operação | `BigInt` nativo | JSBI |
114114
|-----------|-----------------|------|
@@ -117,11 +117,11 @@ Esta biblioteca implementa números grandes usando seus próprios métodos. Pode
117117
| Subtração | `c = a - b` | `c = JSBI.subtract(a, b)` |
118118
| ... | ... | ... |
119119

120-
...E então use o polyfill (plugin do Babel) para converter chamadas JSBI para bigints nativos para aqueles navegadores que os suportam.
120+
...E então use o polyfill (plugin do Babel) para converter chamadas JSBI para BigInts nativos para aqueles navegadores que os suportam.
121121

122-
Em outras palavras, essa abordagem sugere que escrevamos código em JSBI em vez de bigints nativos. Mas o JSBI trabalha com números como se fossem bigints internamente, emula-os de perto seguindo a especificação, então o código será "pronto para bigint".
122+
Em outras palavras, essa abordagem sugere que escrevamos código em JSBI em vez de BigInts nativos. Mas o JSBI trabalha com números como se fossem BigInts internamente, emula-os de perto seguindo a especificação, então o código será "pronto para bigint".
123123

124-
Podemos usar esse código JSBI "como está" para motores que não suportam bigints e para aqueles que suportam - o polyfill converterá as chamadas para bigints nativos.
124+
Podemos usar esse código JSBI "como está" para motores que não suportam BigInts e para aqueles que suportam - o polyfill converterá as chamadas para BigInts nativos.
125125

126126
## Referências
127127

0 commit comments

Comments
 (0)