Skip to content

Commit a2658a4

Browse files
committed
Translated types/casting.
1 parent bd3b4d1 commit a2658a4

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

doc/tr/types/casting.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
## Tür Dönüşümleri
2+
3+
JavaScript *weakly typed* bir dildir, bu yüzden **mümkün olan yerlerde**
4+
*tür dönüşümü* uygular.
5+
6+
// Bunlar true verir
7+
new Number(10) == 10; // Number.toString() tekrar sayıya
8+
// dönüştürülür
9+
10+
10 == '10'; // Katarlar sayıya dönüştürülür
11+
10 == '+10 '; // Bir başka katar çılgınlığı
12+
10 == '010'; // Ve bir tane daha
13+
isNaN(null) == false; // null 0'a dönüştürülür
14+
// tabii 0 NaN değildir
15+
16+
// Bunlar false verir
17+
10 == 010;
18+
10 == '-10';
19+
20+
> **ES5 Notu:** 0 ile başlayan sayı sabitleri oktal (sekizlik) sayı sisteminde
21+
> değerlendirilir. Oktal sayı desteği ECMAScript 5 mutlak modda
22+
> **kaldırılmıştır**.
23+
24+
Yukarıdakilerden kaçınmak için, [mutlak eşitlik operatörünün](#types.equality)
25+
kullanılması **şiddetle** tavsiye edilir. Böylece yaygın hataların çoğundan
26+
kaçınılabilir, yine de JavaScript'in *weak typing* sisteminden kaynaklanan başka
27+
sorunlar da vadır.
28+
29+
### Temel türlerin nesne oluşturucuları
30+
31+
`Number` ve `String` gibi temel türlerin nesne oluşturucuları `new` anahtar
32+
kelimesi ile kullanılıp kullanılmamalarına göre farklı davranış gösterir.
33+
34+
new Number(10) === 10; // False, Object ve Number
35+
Number(10) === 10; // True, Number ve Number
36+
new Number(10) + 0 === 10; // True, tür dönüşümü nedeniyle
37+
38+
`Number` gibi bir temel türün nesne oluşturucusunu kullanmak yeni bir `Number`
39+
nesnesi yaratacaktır, fakat `new` kelimesi kullanılmazsa `Number` fonksiyonu
40+
bir dönüştürücü olarak davranacaktır.
41+
42+
Ayrıca, sabitler ve nesne olmayan değerler kullanılması durumunda başka tür
43+
dönüşümleri de söz konusu olacaktır.
44+
45+
En iyi seçenek üç olası türden birine **açıkça** dönüşüm yapılmasıdır.
46+
47+
### Karakter katarına dönüştürmek
48+
49+
'' + 10 === '10'; // true
50+
51+
Bir değerin başına boş bir katar eklenerek kolayca katara dönüştürülebilir.
52+
53+
### Sayıya dönüştürmek
54+
55+
+'10' === 10; // true
56+
57+
**Tek terimli** toplama operatörü kullanılarak bir değer sayıya dönüştürülebilir.
58+
59+
### Mantıksal değişken türüne dönüştürmek
60+
61+
**not** operatörü iki kez üst üste kullanılarak bir değer mantıksal değişken
62+
türüne dönüştürülebilir.
63+
64+
!!'foo'; // true
65+
!!''; // false
66+
!!'0'; // true
67+
!!'1'; // true
68+
!!'-1' // true
69+
!!{}; // true
70+
!!true; // true
71+
72+

0 commit comments

Comments
 (0)