Introduction, Variables, Objects

Kategori: Javascript , 30 Ekim 2019 , JanFranco


Javascript'te değişkenler türden bağımsızdır. Bir değişken tanımlamak istediğimizde var anahar kelimesini kullanırız:


var x, y;
x = 3;
y = 5;
Fonksiyon tanımlamak için function anahtar kelimesini kullanırız. Fonksiyonların return tipi yoktur, türden bağımsızdır:


function add(a, b) {
    return a + b;
}

var z = add(x, y);
Fonksiyonlar üzerinden devam edelim. Fonksiyon içinde fonksiyon tanımlayalım:


function function_for_function() {
    function function_in_function() {

    }
    function_in_function();
}
Fonksiyonların alabileceği parametre sınırsızdır ve tek tek belirtmek zorunda değiliz. Bir f fonksiyonu tanımlarsak ancak parametre belirtmezsek, arguments anahtar kelimesi ile fonksiyona gönderilen parametrelere ulaşabiliriz:


function f() { return arguments }
var args = f('a', 'b', 'c');
print(args.length);
>>
3
print(args[0]);
>>
'a'
toArray fonksiyonu ile gönderilen parametreleri diziye çevirebiliriz:


function t(a, b) { 
    print(a, b);
    return toArray(arguments);
}

print(t(3, 5));
>>
3, 5
[3, 5]
print(t(1));
>>
1, undefined
[1, 'undefined']
Parametrelerin default değerleri olması için || (or) operatörünü kullanabiliriz:


function optional(x, y) {
    x = x || 0;
    y = y || 0;
    return [x, y];
}
Bu fonksiyonda x değeri ve y değeri parametre olarak gönderilmezse iki değer de 0 olur ve return edilir. Javascript'te tanımsız değerler için iki anahtar kelime mevcuttur: undefined ve null. undefined anahtar kelimesi bir objenin, bir değişkenin değerinin olmadığını, o değer varsa da ulaşılamadığını belirtirken null anahtar kelimesi ortada herhangi bir objenin bile olmadığını belirtir. Bir obje ile bu iki operatörü de karşılaştırabiliriz:


var a;
print(a)                        // undefined

function f(x) { return x }
f()                             // undefined

var obj_2 = {};
print(obj_2.random_property)    // undefined

if(obj_2 === undefined || obj_2 === null) {
    
}
Javascript'te karşılaştırma yapmak için 2 değil 3 eşitlik operatörü kullanırız: ===. If-else yapısını kullanarak bir örnek yapalım:


if (z === 8) {
    z = 123;
} else if (z == 9) {
    z++;    // Increase by one
    x += 1; // Increase by one
    y *= 3; // Multiple by three
} else {
    z = 12345;
}
// karakterleri ile tek satırda yorum belirtebiliriz. Eğer if bloğunda yapılacak işlem tek satırlık bir işlemse aşağıdaki gibi tanımlayabiliriz:


if (z > 25) z = 12;
Çoklu yarım satırını aşağıdaki şekilde tanımlayabiliriz:


/* 
    Basic
    Javascript
    Syntax
*/
String tanımlamak için '' karakterlerini kullanabiliriz. Her objenin methodları olduğu gibi stringlerin de vardır. Bunu daha sonra göreceğiz fakat örnek olması açısından length methodunu kullanalım. Ayrıca stringin harflerine bir dizi elemanıymış gibi erişebiliriz:


var x = 3;
var str = 'janfranco';
var len = str.length;
print(str[0]);
>>
'j'
print(str + ' ' + x + 'messages');
>>
'janfranco 3 messages'
Obje tanımlamak için {} karakterlerini kullanabiliriz. Rastgele özellikler eklemek için nokta operatörünü ve özelliğin adını yazarak bir değere eşitleyebiliriz:


var obj = {};
obj.random_property = 123;
Yukarıda boş bir obje tanımlayıp sonradan özellik ekledik. Objeyi tanımlarken özellik ekleyelim:


obj1 = {
    firstName: 'Jane',
    lastName: 'Doe'
}
Dizi tanımlamak için [] karakterlerini kullanırız:


arr = ['Jan Franco', 'Jane Franco', 1, 2, 3];
typeof anahtar kelimesi ile bir objenin veya değişkenin türünü öğrenebilir, instanceof anahtar kelimesi ile objenin veya değişkenin bir sınıfa ait olup olmadığını kontrol edebiliriz:


print(typeof true);
>>
'boolean'
print(typeof 'abc');
>>
'string'
print(typeof {});
>>
'object'
print(typeof arr);
'object'

print({} instanceof Object)
>>
true
print([] instanceof Array)
>>
true
Karşılaştırma operatörlerini görelim:


&& And
|| Or
! Not
=== !== == != Equality
> >= < <= Ordering
False değerine sahip tanımları görelim:


undefined
null
false
-0
NaN
''
Javascript'te tüm sayılar float değerdedir. Ayrıca tanımsız değerler ve çok büyük değerler infinity sınıfına girer:


if(1 === 1.0){                  // All numbers are floating-point.
    print(3 / 0)                // Error, infinity.
    print(Math.pow(2, 1024))    // Too large, infinity.
}
Döngüleri ve switch-case yapısını da görelim:


switch (x) {
    case 1:
        //
        break;
    case 2:
        //
        break;
    default:
        //
}

for (var i=0; i<arr.length; i++) {
    print(arr[i]);
}

var i = 0;

while (i != 0) {
    print(i);
    i++;
}

do {

} while (i != 0)
delete anahtar kelimesi ile objelerin özelliklerini silebiliriz:


var jane = {
    name: 'jane',
    describe: function() {
        return 'Name = ' + this.name;
    }
}

print(jane.describe);
>>
'Name = jane'

delete jane.describe
in operatörü ile bir değerin, objenin bir objenin içinde olup olmadığını veya bir dizide olup olmadığını kontrol edebiliriz:


print('name' in jane);
true
print('descibe' in jane);
false
print('abc' in jane);
false

arr = [1, 2, 3, 4]
print(5 in arr)
>>
false
Javascript'e hızlı ama basit bir giriş yaptık. Burada yazdığım herşeyi ilerideki yazılarımda daha ayrıntılı bir biçimde yazacağım.


Sonraki Yazı: Values
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın