Node.js Global Nesneleri

Yazıda Node.js ile geliştirme yaparken kullanılan çeşitli sabit ve nesnelerin bulunduğu global nesnesi hakkında bilgiler yer almaktadır.

Node.js global nesnesinde çeşitli nesne, fonksiyon ve sabitler tanımlıdır.

Global nesnelere her yerden erişilir.

global nesnesi

Tarayıcılarda değişken, fonksiyon ve nesneler window nesnesi altında saklanır.

Node.js içerisinde ise global nesnesi altında saklanır.

'use strict';

global.ad = 'Yusuf SEZER';

console.log(ad); // ??

console nesnesi

Ekrana yazdırma işlemi için kullanılan çeşitli metotlara sahip bir nesnedir.

Aşağıdaki kodları herhangi bir dosyaya kaydedin ve çalıştırın.

'use strict';

let i = 0;

console.time('zaman');

for (i = 1; i < 101; i++) {
  console.log(i + ' Yusuf SEZER')
}

console.timeEnd('zaman');

__filename

Çalıştırılan dosyanın yolunu verir.

Aşağıdaki kodları herhangi bir yere dosya adı index.js olarak kaydedin.

'use strict';

console.log(__filename);

İşletim sisteminize ait komut yorumlayıcını kaydettiğiniz dizine getirin.

Aşağıdaki kodları komut yorumlayıcısına yazın.

node index.js

Komut çıktısı aşağıdaki gibi olacaktır.

C:\index.js

__dirname

Çalıştırılan dosyanın yolunu verir.

Aşağıdaki kodları herhangi bir dosyaya kaydedin ve çalıştırın.

'use strict';

console.log(__dirname);

Komut çıktısı aşağıdaki gibi olacaktır.

C:\

Buffer nesnesi

Bilgisayar sistemlerinde dosya okuma, dosya yazma ve ağlar arasındaki haberleşme ikili sayı tabanına göre yapılır.

Ancak JavaScript içerisinde dosya okuma ve yazma gibi işlemler yapılmadığından ikili sayı sistemine göre işlem yapmaz.

Node.js dosya okuma, dosya yazma ve TCP protokolü ile çeşitli işlemler yapmak için Buffer nesnesini kullanılır.

Aşağıdaki kodları herhangi bir dosyaya kaydedin ve çalıştırın.

'use strict';

var tampon =  Buffer.from('A');

console.log(tampon);

Komut çıktısı aşağıdaki gibi olacaktır.

<Buffer 41>

Buffer sınıfı ile veriyi çeşitli formatlara dönüştürebiliriz.

'use strict';

var tampon =  Buffer.from('www.yusufsezer.com.tr');

console.log(tampon.toString('base64'));

setTimeout fonksiyonu

JavaScript dersleri bölümündeki setTimeout kullanımı yazımda detaylı anlatımı olan zamanlama fonksiyonudur.

Aşağıdaki kodları herhangi bir dosyaya kaydedin ve çalıştırın.

'use strict';

setTimeout(function () {

  console.log('Yusuf SEZER');

}, 2000);

clearTimeout fonksiyonu

setTimeout fonksiyonu ile zamanlanmış işlevi iptal etmek için kullanılır.

'use strict';

var merhaba = setTimeout(function () {

  console.log('Merhaba Node.js');

}, 2000);

console.log('Yusuf SEZER');

clearTimeout(merhaba);

setInterval fonksiyonu

Belirlenen sürede sürekli tekrar edecek işlemler için kullanılır. Kullanımı setTimeout fonksiyonuna benzer.

'use strict';

setInterval(function () {

  console.log('Yusuf SEZER');

}, 2000);

clearInterval fonksiyonu

setInterval fonksiyonu ile zamanlanmış işlevi iptal etmek için kullanılır.

'use strict';

let i = 0;

var yaz = setInterval(function () {

  console.log('Yusuf SEZER');
  i++;

  if (i == 3) {
    clearInterval(yaz)
  }

}, 2000);

process nesnesi

Node.js ile herhangi bir komut dosyası çalıştırıldığında, çalıştırılan komut dosyası ile ilgili bilgiler process nesnesi içerisinde yer alır.

Bellek kullanımı

'use strict';

console.log(process.memoryUsage());

İşlem numarası

'use strict';

console.log(process.pid);

require nesnesi

Node.js modülleri ile ilgili çeşitli fonksiyon ve değerlere sahiptir.

require fonksiyonu

Node.js için yazılmış modülleri projeye dahil etmek için kullanılır.

'use strict';

const fs = require('fs');

fs.writeFile('metin.txt', 'Yusuf SEZER', function (err) {

  console.log('Dosya oluşturuldu');

});

require.cache

Dahil edilen modül değerleri require.cache nesnesinde tutulur.

'use strict';

const express = require('express');

console.log(require.cache);

require.resolve fonksiyonu

Modül yolunu verir.

'use strict';

const express = require('express');

console.log(require.resolve('express'));
console.log(require.resolve('fs'));

module nesnesi

Modül yazmak ve dahil edilen modüller hakkında bilgilere ulaşmak için kullanılır.

'use strict';

const express = require('express');

console.log(module);

module.exports

Modül yazmak için kullanılır.

Aşağıdaki kodları islem.js olarak kaydedin.

'use strict';

module.exports = {
  sayi1: 0,
  sayi2: 0,
  topla: function () {
    return this.sayi1 + this.sayi2;
  },
  cikar: function (s1, s2) {
    return this.sayi1 - this.sayi2;
  },
  carp: function (s1, s2) {
    return this.sayi1 * this.sayi2;
  },
  bol: function (s1, s2) {
    return this.sayi1 / this.sayi2;
  }
}

Modülü kaydettiğiniz yere aşağıdaki kodları kaydedin ve çalıştırın.

'use strict';

const islem = require('./islem');

islem.sayi1 = 40;
islem.sayi2 = 10;

console.log(islem.topla());
console.log(islem.carp());
console.log(islem.cikar());
console.log(islem.bol());

console.log(module);

Örnekte görüldüğü gibi basit bir modül yazmış olduk.

exports

Modül yazmak için kullanılır. module.exports nesnesinin kısaltılmış halidir.

Aşağıdaki kodları islem.js olarak kaydedin.

'use strict';

exports.sayi1 = 0;
exports.sayi2 = 0;

exports.topla = function () {
  return 44;
}

Modülü kaydettiğiniz yere aşağıdaki kodları kaydedin ve çalıştırın.

'use strict';

const islem = require('./islem');

islem.sayi1 = 40;
islem.sayi2 = 10;

console.log(islem.topla());

Node.js Derslerine buradan ulaşabilirsiniz…

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!