JavaScript'teki Dahili Fonksiyonlar

JavaScript'teki Dahili Fonksiyonlar

Bu makale, JavaScript'teki dahili fonksiyonları açıklar.

YouTube Video

JavaScript'teki Dahili Fonksiyonlar

JavaScript, programları verimli bir şekilde oluşturmak için güçlü araçlar olan çeşitli dahili fonksiyonlar sunar. Burada, JavaScript'teki tipik dahili fonksiyonları detaylı bir şekilde açıklayacağız. Her bir fonksiyonun rollerini, kullanım alanlarını ve dikkat edilmesi gereken noktalarını öğrenerek JavaScript'i daha etkili bir şekilde kullanabilirsiniz.

Dahili Fonksiyonlar Nedir?

Dahili Fonksiyonlar, JavaScript'te standart olarak sağlanan fonksiyonlardır. Bu fonksiyonlar, belirli görevleri özlü bir şekilde gerçekleştirmek için tasarlanmıştır. Programcıların bunları bağımsız olarak uygulamaları gerekmez, bu da kodun okunabilirliğini ve sürdürülebilirliğini artırır.

Temsili Dahili Fonksiyonlar

parseInt()

1// Convert string to integer
2console.log(parseInt("42"));      // Output: 42
3console.log(parseInt("42px"));    // Output: 42
4console.log(parseInt("0xF", 16)); // Output: 15
5console.log(parseInt("0xF"));     // Output: 15
6console.log(parseInt("px42"));    // Output: NaN
  • parseInt(), bir stringi ayrıştırarak bir tamsayıya dönüştüren bir fonksiyondur. Eğer stringin başlangıcı bir sayı içeriyorsa, bu kısım bir tamsayı olarak döndürülür. İsteğe bağlı olarak bir taban (radix) da belirtebilirsiniz.

  • Eğer stringin başlangıcı bir sayı içermiyorsa, NaN (Not-a-Number) döndürülür. Ayrıca, bir taban (radix) belirtilmemişse varsayılan olarak ondalık esas alınır, ancak string "0x" ile başlıyorsa onaltılık olarak yorumlanır.

parseFloat()

1// Convert string to float
2console.log(parseFloat("3.14"));      // Output: 3.14
3console.log(parseFloat("3.14abc"));   // Output: 3.14
4console.log(parseFloat("42"));        // Output: 42
  • parseFloat(), bir stringi ayrıştırarak bir ondalıklı sayıya dönüştüren bir fonksiyondur. Ondalık bir nokta içeren sayılarla çalışırken kullanılır.

  • parseInt() gibi, eğer stringin başlangıcı bir sayı değilse, NaN döndürür. Sadece tam sayı kısmını değil, aynı zamanda ondalık kısmını da doğru bir şekilde ayrıştırmasıyla karakterize edilir.

isNaN()

1console.log(isNaN(NaN));         // Output: true
2console.log(isNaN(42));          // Output: false
3console.log(isNaN("hello"));     // Output: true
  • isNaN(), verilen bir değerin NaN olup olmadığını belirler. NaN (Not-a-Number), bir sayı olarak geçersiz bir değeri temsil eder.

  • isNaN(), sayılar dışındaki veri türleri için de geçerlidir ve örneğin, bir string bir sayıya dönüştürülemiyorsa true döndürür.

Number()

1console.log(Number("42"));        // Output: 42
2console.log(Number("3.14"));      // Output: 3.14
3console.log(Number("0xff"));      // Output: 255
4console.log(Number("abc"));       // Output: NaN
  • Number(), stringleri veya diğer veri türlerini bir sayıya dönüştüren bir fonksiyondur. Sayısal olmayan bir dize verilirse NaN döndürür.

  • parseInt() veya parseFloat()'tan farklı olarak, Number() bunu geçersiz bir dönüşüm olarak kabul eder ve dize sayısal olmayan karakterler içeriyorsa NaN döndürür.

String()

1console.log(String(42));           // Output: "42"
2console.log(String(3.14));         // Output: "3.14"
3console.log(String(true));         // Output: "true"
4console.log(String(null));         // Output: "null"
5console.log(String(undefined));    // Output: "undefined"
  • String(), sayı ve diğer veri türlerini string'e dönüştüren bir fonksiyondur. String(42) sonucu olarak "42" string'ini döndürür.
  • Eğer dönüştürülecek değer null veya undefined ise, sırasıyla "null" veya "undefined" string'lerini döndürür.
  • Bu fonksiyon, sayı, boolean veya nesne gibi çeşitli veri türlerini string'e dönüştürerek işlemeyi kolaylaştırır.

Array

1const arr = Array(3);
2console.log(arr); // Output: [ <3 empty items> ]
3
4const arr2 = Array(1, 2, 3);
5console.log(arr2); // Output: [1, 2, 3]
  • Array, yeni diziler oluşturmak için kullanılan bir yapıcıdır.
  • Eğer tek bir argüman varsa, bu dizinin uzunluğu olarak kabul edilir ve boş bir dizi oluşturulur.
  • Eğer birden fazla argüman varsa, bu değerleri eleman olarak içeren bir dizi oluşturulur.

Array.isArray()

1console.log(Array.isArray([1, 2, 3])); // Output: true
2console.log(Array.isArray("not an array")); // Output: false
  • Array.isArray(), verilen argümanın bir dizi olup olmadığını belirleyen bir metottur.
  • Argüman bir dizi ise true, değilse false döndürür.

isFinite()

1console.log(isFinite(42));         // Output: true
2console.log(isFinite(Infinity));   // Output: false
3console.log(isFinite(NaN));        // Output: false
  • isFinite() verilen bir değerin sonlu olup olmadığını belirler. Sonlu sayılar için true, aksi durumda (örneğin sonsuzluk veya NaN gibi) false döndürür.

  • JavaScript'te, Infinity ve -Infinity sonsuzluğu temsil eder ve sayı türündedir, ancak isFinite() sonsuzluğu geçersiz bir değer olarak kabul eder.

eval()

1let expression = "2 + 2";
2console.log(eval(expression));    // Output: 4
3
4console.log(eval("var x = 10; x * 2"));  // Output: 20
  • eval(), bir dize olarak verilen JavaScript kodunu değerlendiren ve çalıştıran bir işlevdir. JavaScript kodunu dinamik olarak çalıştırabilirsiniz.

  • eval() çok güçlüdür, ancak bir güvenlik riski oluşturduğundan gerçek geliştirme sırasında kullanılmamalıdır. eval() ile harici olarak sağlanan kodu çalıştırmak, istenmeyen davranışlara ve güvenlik açıklarına yol açabilir.

encodeURI() / decodeURI()

1let url = "https://example.com/?name=John Doe&age=25";
2let encodedUrl = encodeURI(url);
3console.log(encodedUrl);
4// Output: https://example.com/?name=John%20Doe&age=25
5
6let decodedUrl = decodeURI(encodedUrl);
7console.log(decodedUrl);
8// Output: https://example.com/?name=John Doe&age=25
  • encodeURI(), bir URL'de kullanılamayan karakterleri kodlamak (dönüştürmek) için kullanılan bir işlevdir. Öte yandan, decodeURI(), kodlanmış bir URL'yi orijinal biçimine dönüştürür.

  • Özellikle özel karakterlerle çalışırken kodlama çok önemlidir. Örneğin, boşluklar veya & gibi karakterlerin bir URL'ye doğru şekilde dahil edilmesi için kodlanması gerekir, bu yüzden bunlar encodeURI() kullanılarak uygun şekilde işlenmelidir.

setTimeout() / setInterval()

 1// Execute a function after 2 seconds
 2setTimeout(() => {
 3    console.log("This runs after 2 seconds");
 4}, 2000);
 5
 6// Execute a function every 1 second
 7let intervalId = setInterval(() => {
 8    console.log("This runs every 1 second");
 9}, 1000);
10
11// Stop the interval after 5 seconds
12setTimeout(() => {
13    clearInterval(intervalId);
14}, 5000);
  • setTimeout(), belirli bir süre sonra bir işlevi bir kez çalıştırmak için kullanılan bir zamanlayıcı işlevdir. setInterval(), belirli aralıklarla bir işlevi tekrar tekrar çalıştırır.

  • setTimeout() ve setInterval() işlevleri, belirtilen süre geçtikten sonra işlevi çağırarak asenkron olarak çalışır. Ayrıca, clearTimeout() veya clearInterval() kullanılarak yürütmeler iptal edilebilir.

Özet

JavaScript'in yerleşik işlevlerini kullanmak, daha basit ve daha verimli programlar yazmanızı sağlar. Burada tanıtılan fonksiyonlar temel olup çeşitli durumlarda kullanışlıdır. Anlayışınızı derinleştirmek için gerçek kod yazdığınızdan ve davranışını doğruladığınızdan emin olun.

JavaScript becerilerinizi daha da geliştirmek için daha karmaşık işlemleri ve ileri düzey işlev kullanımlarını öğrenin.

Yukarıdaki makaleyi, YouTube kanalımızda Visual Studio Code'u kullanarak takip edebilirsiniz. Lütfen YouTube kanalını da kontrol edin.

YouTube Video