JavaScript’te kod yazarken zaman kazandıracak bazı yöntemler

JavaScript’te kod yazarken zaman kazandıracak bazı yöntemler

Herhangi bir programlama dilinin kısaltılmış kodlama teknikleri, daha temiz ve optimize edilmiş kod yazmamıza yardımcı olur ve hedefimize daha az kodlama ile ulaşmamızı sağlar.
 
1. Değişken Bildirimi (Declaring variables)

// longhand
let x;
let y = 20;
// Shorthand
let x, y = 20;

 

// longhand

let x;

let y = 20;

// Shorthand

let x, y = 20;

 

 
2. Birden çok değişkene değer atama
destructuring özelliği ile bir satırda birden çok değişkene değer atayabiliriz.

//Longhand
let a, b, c;
a = 5;
b = 8;
c = 12;
//Shorthand
let [a, b, c] = [5, 8, 12];

 

//Longhand

let a, b, c;

 

a = 5;

b = 8;

c = 12;

 

//Shorthand

let [a, b, c] = [5, 8, 12];

 

 

3. Ternary operator
Ternary operator ile 5 satırlık kodu tek satıra düşürebiliriz.

//Longhand
let marks = 26;
let result;
if(marks >= 30) {
result = ‘Pass’;
} else {
result = ‘Fail’;
}
//Shorthand
let result = marks >= 30 ? ‘Pass’ : ‘Fail’;

 

//Longhand

let marks = 26;

let result;

if(marks >= 30) {

   result = ‘Pass’;

} else {

   result = ‘Fail’;

}

 

//Shorthand

let result = marks >= 30 ? ‘Pass’ : ‘Fail’;

 

 

4. Varsayılan değer atama
Beklenen değerin olmaması durumunda bir değişkene varsayılan bir değer atamak için OR (||) operatörünü kullanabiliriz.

//Longhand
let imagePath;
let path = getImagePath();
if(path !== null && path !== undefined && path !== ”) {
imagePath = path;
} else {
imagePath = ‘default.jpg’;
}
//Shorthand
let imagePath = getImagePath() || ‘default.jpg’;

 

//Longhand

let imagePath;

 

let path = getImagePath();

 

if(path !== null && path !== undefined && path !== ) {

    imagePath = path;

} else {

    imagePath = ‘default.jpg’;

}

 

//Shorthand

let imagePath = getImagePath() || ‘default.jpg’;

 

 

5. AND(&&) operatörü kullanımı
Bir değişkenin true olup olmadığını kontrol ediyorsanız, alternatif olarak AND (&&) operatörünü kullanabilirsiniz.

//Longhand
if (isLoggedin) {
goToHomepage();
}
//Shorthand
isLoggedin && goToHomepage();

 

//Longhand

if (isLoggedin) {

    goToHomepage();

}

 

//Shorthand

isLoggedin && goToHomepage();

 

 

6. İki değişkeni değiştirme (Swap two variables)
İki değişkenin değerlerini destructing yardımı ile kolayca değiştirebiliriz.

let x = ‘Hello’, y = 55;
//Longhand
const temp = x;
x = y;
y = temp;
//Shorthand
[x, y] = [y, x];
// Çıktı:
// x: 55
// y: Hello

 

let x = ‘Hello’, y = 55;

 

//Longhand

const temp = x;

x = y;

y = temp;

 

//Shorthand

[x, y] = [y, x];

 

// Çıktı:

// x: 55

// y: Hello

 

 

7. Arrow Function

//Longhand
function add(num1, num2) {
return num1 + num2;
}
//Shorthand
const add = (num1, num2) => num1 + num2;

 

//Longhand

function add(num1, num2) {

  return num1 + num2;

}

 

//Shorthand

const add = (num1, num2) => num1 + num2;

 

 

8. Template Literals

String değerlerini değişkenlerle birleştirmek için normalde + operatörünü kullanırız. ES6 Template Literals ile bunu daha basit bir şekilde yapabiliriz.

//Longhand
console.log(‘You got a missed call from ‘ + number + ‘ at ‘ + time);
//Shorthand
console.log(`You got a missed call from ${number} at ${time}`);

 

//Longhand

console.log(‘You got a missed call from ‘ + number + ‘ at ‘ + time);

 

//Shorthand

console.log(`You got a missed call from ${number} at ${time}`);

 

 

9. Çok Satırlı Dizeler (Multi-line String)

Çok satırlı dize için normalde + operatörünü yeni satıra geçiş n operatörü ile birlikte kullanırız. Yeni dize tanımlama backsticks ile bunu daha kolay bir şekilde yapabiliriz.

//Longhand
console.log(‘JavaScript, often abbreviated as JS, is an’ + ‘programming language that conforms to the n’ + ‘ECMAScript specification. JavaScript is high-level,n’ + ‘often just-in-time compiled, and multi-paradigm.’);
//Shorthand
console.log(`JavaScript, often abbreviated as JS, is a programming language that conforms to the ECMAScript specification. JavaScript is high-level, often just-in-time compiled, and multi-paradigm.`);

 

//Longhand

console.log(‘JavaScript, often abbreviated as JS, is an’ + ‘programming language that conforms to the n’ + ‘ECMAScript specification. JavaScript is high-level,n’ + ‘often just-in-time compiled, and multi-paradigm.’);

 

 

//Shorthand

console.log(`JavaScript, often abbreviated as JS, is a programming language that conforms to the ECMAScript specification. JavaScript is highlevel, often justintime compiled, and multiparadigm.`);

 

 

10. Çoklu koşul kontrolü (Multiple condition checking)

Çoklu değer eşleştirme için tüm değerleri diziye koyabilir ve indexOf () yöntemini kullanabiliriz.

//Longhand
if (value === 1 || value === ‘one’ || value === 2 || value === ‘two’) {
// Execute some code
}
// Shorthand 1
if ([1, ‘one’, 2, ‘two’].indexOf(value) >= 0) {
// Execute some code
}
// Shorthand 2
if ([1, ‘one’, 2, ‘two’].includes(value)) {
// Execute some code
}

 

//Longhand

if (value === 1 || value === ‘one’ || value === 2 || value === ‘two’) {

  // Execute some code

}

 

// Shorthand 1

if ([1, ‘one’, 2, ‘two’].indexOf(value) >= 0) {

   // Execute some code

}

 

// Shorthand 2

if ([1, ‘one’, 2, ‘two’].includes(value)) {

    // Execute some code

}

 

 

11. Nesneye değer atama (Object Property Assignment)

Değişken adı ve nesne özellik adı aynıysa, nesne değişkenlerinde hem özellik hem de değer yerine sadece değişken adını belirtebiliriz. JavaScript, nesne özelliğini otomatik olarak değişken adıyla aynı şekilde ayarlayacak ve değeri değişkenin değeri olarak atayacaktır.

let firstname = ‘John’;
let lastname = ‘Mark’;
//Longhand
let obj = {firstname: firstname, lastname: lastname};
//Shorthand
let obj = {firstname, lastname};

 

let firstname = ‘John’;

let lastname = ‘Mark’;

 

//Longhand

let obj = {firstname: firstname, lastname: lastname};

 

//Shorthand

let obj = {firstname, lastname};

 

 

12. Dizeleri sayılara dönüştürme

Bir dizeyi sayıya dönüştürmek için parseInt ve parseFloat gibi yöntemler vardır. Bunu, dize değerinin önüne (+) koyarak da yapabiliriz.

//Longhand
let total = parseInt(‘453’);
let average = parseFloat(‘42.6′);
//Shorthand
let total = +’453′;
let average = +’42.6’;

 

//Longhand

let total = parseInt(‘453’);

let average = parseFloat(‘42.6’);

 

//Shorthand

let total = +‘453’;

let average = +‘42.6’;

 

 
13. Bir dizeyi birkaç kez tekrarlama

Bir dizeyi belirli bir süre boyunca tekrarlamak için bir for döngüsü kullanabilirsiniz. Ancak repeat() yöntemini kullanarak bunu tek bir satırda yapabiliriz.

//Longhand
let str = ”;
for(let i = 0; i < 5; i ++) { str += 'Hello '; } console.log(str); // Hello Hello Hello Hello Hello // Shorthand 'Hello '.repeat(5);

 

//Longhand

let str = ;

for(let i = 0; i < 5; i ++) {

  str += ‘Hello ‘;

}

console.log(str); // Hello Hello Hello Hello Hello

 

// Shorthand

‘Hello ‘.repeat(5);

 

 

14. Üs Alma

Bir sayının üssünü bulmak için Math.pow () yöntemini kullanabiliriz. Bir başka yöntem de çift yıldız operatörünü (**) kullanmak.

//Longhand
const power = Math.pow(4, 3); // 64
// Shorthand
const power = 4**3; // 64

 

//Longhand

const power = Math.pow(4, 3); // 64

 

// Shorthand

const power = 4**3; // 64

 

 
15. Sayıları aşağıya yuvarlama

Sayıları aşağıya yuvarlamak için Math.floor yöntemini kullanırız. (~~) operatörü ile de aynı işlem yapılabiliyor.

//Longhand
const floor = Math.floor(6.8); // 6
// Shorthand
const floor = ~~6.8; // 6

 

//Longhand

const floor = Math.floor(6.8); // 6

 

// Shorthand

const floor = ~~6.8; // 6

 

Not: Math.floor() yöntemi sayı ne olursa olsun aşağı yuvarlar.
 

16. Dizideki maksimum ve minimum sayıları bulmak

Dizilerdeki maksimum ve minimum değerleri bulmak için genelde döngü yapabilir ya da Array.reduce () yöntemini kullanabiliriz.
 
Fakat, Spread operatörünü kullanarak bunu tek bir satırda yapabiliyoruz.

// Shorthand
const arr = [2, 8, 15, 4];
Math.max(…arr); // 15
Math.min(…arr); // 2

 

// Shorthand

const arr = [2, 8, 15, 4];

Math.max(...arr); // 15

Math.min(...arr); // 2

 

 

17. For loop

JS’de farklı farklı döngü yöntemleri bulunmakta, bir dizide döngü yapmak için genellikle for döngüsünü kullanırız. Diziler arasında yineleme yapmak için for… of döngüsünü de kullanabiliriz. Her değerin dizinine erişmek için ise for… in döngüsünü kullanabiliriz.

let arr = [10, 20, 30, 40];
//Longhand
for (let i = 0; i < arr.length; i++) { console.log(arr[i]); } //Shorthand //for of loop for (const val of arr) { console.log(val); } //for in loop for (const index in arr) { console.log(arr[index]); }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

 

let arr = [10, 20, 30, 40];

 

//Longhand

for (let i = 0; i < arr.length; i++) {

  console.log(arr[i]);

}

 

//Shorthand

//for of loop

for (const val of arr) {

  console.log(val);

}

 

//for in loop

for (const index in arr) {

  console.log(arr[index]);

}

 

 

Ayrıca for… in döngüsünü kullanarak nesne özelliklerinde döngü yapabiliriz.

let obj = {x: 20, y: 50};
for (const key in obj) {
console.log(obj[key]);
}

 

let obj = {x: 20, y: 50};

 

for (const key in obj) {

  console.log(obj[key]);

}

 

 
18. Dizilerin birleştirilmesi

let arr1 = [20, 30];
//Longhand
let arr2 = arr1.concat([60, 80]); // [20, 30, 60, 80]
//Shorthand
let arr2 = […arr1, 60, 80]; // [20, 30, 60, 80]

 

let arr1 = [20, 30];

 

//Longhand

let arr2 = arr1.concat([60, 80]); // [20, 30, 60, 80]

 

//Shorthand

let arr2 = [...arr1, 60, 80]; // [20, 30, 60, 80]

 

 

19. Dizeden karakter alma

let str = ‘jscurious.com’;
//Longhand
str.charAt(2); // c
//Shorthand
str[2]; // c

 

let str = ‘jscurious.com’;

 

//Longhand

str.charAt(2); // c

 

//Shorthand

str[2]; // c

 

 

20. Dinamik nesne

ES6 ile birlikte, daha önce tanımladığımız değişkeni köşeli parantezler içerisine alarak nesne içerisinde dinamik olacak şekilde kullanabiliyoruz.

const dynamic = “email”;
const user = {
name : ‘John’,
lastname : ‘Doe’,
[dynamic] : ‘[email protected]’,
};
console.log(user);
// {
// name: “John”,
// lastname: “Doe”,
// email: “[email protected]
// }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

 

const dynamic = “email”;

 

const user = {

  name : ‘John’,

  lastname : ‘Doe’,

  [dynamic] : [email protected],

};

 

console.log(user);

 

// {

//   name: “John”,

//   lastname: “Doe”,

//   email: “[email protected]

// }

 

 

Bu yazıda olmayan diğer bazı faydalı yöntemlere buradan ulaşabilirsiniz.

 
Kaynaklar:https://jscurious.com/20-javascript-shorthand-techniques-that-will-save-your-time/

Yorum Yap
0 Yorum yapan