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.