- Version
- ES2023
- Release Date
- 1995
- Author
- Brendan Eich
Luuqadan Javascript waxa la sameeyey sannadku marku ahaa 1995 , waxaana lo sameeyey si logu adeegsado dhisitaanka websites, sababtuna waxay ahayd in websites laga dhigo qaar nool iyado javascript lo adeegsanayo si ula fal gasho HTML iyo CSS . Luuqadan waxyaabo badan ayaad ku dhisi karta oo ay ka mid yihiin: web apps, mobile apps, desktop apps, games(browser-based games) iyo waxyaabo kale oo badan.
Console.log
console.log wuxu inaga caawiya inu na tuso natiijada ka dhalatey ama kaso baxday code-ka (Code-ka aynu qorney), tusaale ahaan:
console.log("Iska waran sxb!");
console.log(2 + 2);
Iska waran sxb!
4
Variables
Variables waxa loo adeegsada in xog lagu kaydiyo.
Qaabka Isticmaalka (Syntax):<keyword> <variable_name> = <initial_value>;
var name = "Adam";
let age = 25;
const gender = "male";
console.log(name, age, gender);
Adam 25 male
- 1 var , let , const (variable declaration)
wa ereyo bixin luuqada u gaar ah oo loo adeegsado si loo qeexo variables.
- 2 name , age , gender (variable identifiers)
waa magaca variable-ku iska leeyahay. Sido kale magaca variable-ka waxa lo yaqaana variable identifier.
- 3 Adam , 25 , male (values)
wa qiimayaasha la kaydinayo ama xogta la kaydinayo.
Var
Var waa erey bixin lo adeegsado in variable(doorsame) lagu qeexo.
- 1 Reassignment
Qiimaha ku kaydsan variable-ka waad bedeli karta.
- 2 Redeclaration
Variable-ka dib ayaad u qeexi karta.
- 3 Function scope
Variables-ka lagu dhex qeexo function-ka dhexdiisa, kaliya waxa laga heli kara function-ka lagu dhex qeexay.
- 4 Hoisting
Hadduu jiro variable aan la qeexin ka dibna la qeexo, wax mushkilad ah ma keenayso.
- 5 Undefined Value
Marka laga qeexayo variable-ka, khasab maaha in la qeexo qiimaha variable-ka lagu kaydinayo.
1. Reassignment
// Reassignment
var price = 10;
price = 20;
console.log(price); // natiijada: 20
2. Redeclaration
// Redeclaration
var color = "red";
var color = "blue";
console.log(color); // natiijada: blue
3. Function scope
// Function scope
function add(a, b) {
var result = a + b;
console.log(result); // natiijada: 5
}
add(2, 3);
console.log(result); // Error
4. Hoisting
// Hoisting
id;
var id = 101;
console.log(id); // natiijada: 101
5. Undefined Value
// Undefined Value
var name;
console.log(name); // natiijada: undefined (lama qeexin qiimaha la kaydinayo)
Let
Let waa erey bixin lo adeegsado in variable(doorsame) lagu qeexo.
- 1 Reassignment
Qiimaha ku kaydsan variable-ka waad bedeli karta.
- 2 Redeclaration
Variable-ka dib uma qeexi kartid.
- 3 Block scope
Variables-ka lagu dhex qeexo '{}', kaliya waxa laga heli kara meesha lagu dhex qeexay.
- 4 Hoisting
Mushkilad ba ka dhalanaysa haddii u jiro variable aan la qeexin ka dibna la qeexo.
- 5 Undefined Value
Marka laga qeexayo variable-ka, khasab maaha in la qeexo qiimaha variable-ka lagu kaydinayo.
1. Reassignment
// Reassignment
let price = 10;
price = 20;
console.log(price); // natiijada: 20
2. Redeclaration
// Redeclaration
let color = "red";
let color = "blue";
console.log(color); // natiijada: Error
3. Block scope
// Example 1: Block scope
function add(a, b) {
let result = a + b;
console.log(result); // natiijada: 5
}
add(2, 3);
console.log(result); // Error
// Example 2: Block scope
if(true) {
let user = "Admin";
console.log(user); // natiijada: Admin
}
console.log(user); // Error
4. Hoisting
// Hoisting
id;
let id = 101;
console.log(id); // natiijada: Error
5. Undefined Value
// Undefined Value
let name;
console.log(name); // natiijada: undefined (lama qeexin qiimaha la kaydinayo)
Const
Const waa erey bixin lo adeegsado in variable(doorsame) lagu qeexo.
- 1 Reassignment
Ma bedeli kartid qiimaha ku kaydsan variable-ka.
- 2 Redeclaration
Variable-ka dib uma qeexi kartid.
- 3 Block scope
Variables-ka lagu dhex qeexo '{}', kaliya waxa laga heli kara meesha lagu dhex qeexay.
- 4 Hoisting
Mushkilad ba ka dhalanaysa haddii u jiro variable aan la qeexin ka dibna la qeexo.
- 5 Undefined Value
Waa khasab in la qeexo qiimaha variable-ka lagu kaydinayo marka laga qeexayo variable-ka.
1. Reassignment
// Reassignment
const price = 10;
price = 20;
console.log(price); // natiijada: Error
2. Redeclaration
// Redeclaration
const color = "red";
const color = "blue";
console.log(color); // natiijada: Error
3. Block scope
// Example 1: Block scope
function add(a, b) {
const result = a + b;
console.log(result); // natiijada: 5
}
add(2, 3);
console.log(result); // Error
// Example 2: Block scope
if(true) {
const user = "Admin";
console.log(user); // natiijada: Admin
}
console.log(user); // Error
4. Hoisting
// Hoisting
id;
const id = 101;
console.log(id); // natiijada: Error
5. Undefined Value
// Undefined Value
const name;
console.log(name); // natiijada: Error (lama hayo qiimihii la kaydini lahaa)
Rules for Variable Names
Marka la magacaabayo variable-ka waxa jira sharciyo u gaar ah oo ku saabsan sida lo magacaabo variables-ka. Shuruucdaas waxa ka mid ah:
1. Magaca variable-ku kuma bilaabmi karo tiro
let 1user = "Adam"; // Error
2. Ma isticmaali kartid ereyo bixinta u gaar ah luuqada
Marka magacaabaysid ha isticmaalin ereyo bixinta u gaarka ah luuqada (reserved keywords). Tusaale:
let let = 5; // Error
3. Case-sensitive
Haddii ay jiraan laba variables/doorsame oo isku magac ah laakiin ku kala duwan xarfaha waaweyn iyo kuwa yaryar waxa lo aqoonsanaya inay yihiin laba variables oo kale duwan. Tusaale:
// Example 1
let name = "Adam";
let Name = "Elmi";
console.log(name); // Adam
console.log(Name); // Elmi
// Example 2
let age = 25;
console.log(Age); // Error
Hababka kala duwan ee lo qori magaca variable-ka
Camel Case
Habkan waxa weeye in kalmada ugu horeysa laga wada dhigo xuruuf yaryar, kalmadaha kalena xarafkooda ugu horeya waxa laga dhigaya xaraf weyn, xuruufta kalena xuruuf yaryar. Tusaale:
let firstName = "Adam";
let lastTimeVisited = "Yesterday";
Pascal Case
Habkan waxa weeye in kalmad kasta xarafkeeda kowaad laga dhigo xaraf weyn, inta kalena xuruuf yaryar. Tusaale:
let UserId = 101;
Snake Case
Habkan waxa weeye in dhamaan kalmadaha laga wada dhigo xuruuf yaryar sido kalena kalmadahana loo kala dhexeesiyo _(underscore). Tusaale:
let user_name = "Adam";
Data Types
Xogta variable-ka lagu kaydinayo waxa lo kala qaybiya laba nooc oo kale ah Primitive Data Types iyo Reference Data Types(Non-Primitive) .
1. Primitive Data Types
Waa xog hal qiimo ka kooban oo la bedeli karin.
Noocyada xogta Primitive data ah waxa ka mid ah:a. String
Waa xog kasta oo ku dhex jirta ” ” ama ’ ’ ama ` ` taas lo aqoonsanayo inay xogtaasi tahay string xita haday tahay tirooyin ama ka kooban tahay tirooyin.
let firstName = "Adam";
let middleName = 'Eid';
let lastName = `Elmi`;
let id = "109"
let money = "$300"
let new_user = "user101"
let answer = "true"
b. Number
Waa xogta tirooyinka ah. Waa dhamaan xogta tirooyinka ah: integers (tirooyinka), floats (tirooyinka ah jajab tobanle) iyo xogta gaar ah sida ‘NaN’, ‘Infinity’ kuwaas oo iyana lo aqoonsado inay yihiin xog tirooyin ah.
let items = 15; // integers
let price = 10.5; // floats
c. Boolean
Boolean waa nooc ka mid ah xogta oo kaliya yeelan karta laba qiimood: run (true) ama been (false).
let isOnline = true;
let is_student = false;
d. Undefined
Undefined waa nooc ka mid ah xogta u variable-ka u qaadanayo haddii la qeexin qiimaha Variable-ka lagu kaydinayo taas oo micnaheedu u yahay qiimihii ayaa maqan.
let location; // undefined
e. Null
Null waa nooc ka mid ah xogta taas oo micnaheedu u yahay “qiimo madhan” oo aan waxba u taagneyn.
let file = Null;
Primitive Data Types
- 1 Holds Single Value
Waa xog ka kooban hal qiimo (Single Value).
- 2 Immutable
Qiimaha ama xogta wax lagama bedeli karo.
1. Holds Single Value
let name = "Adam";
let age = 25;
let address = null;
let is_student = true;
let id; // undefined
2. Immutable
// Example 1
let name = "Adam";
name = "Elmi";
console.log(name); // natiijada: Elmi
// Example 2
let name = "Amal";
name[0] = "U";
console.log(name); // natiijada: Amal
Sida loo hubiyo nooca xogta
typeof waa erey bixin ino sheegta nooca xogta.
let name = "Adam";
let age = 25;
let salary = 55.5;
let is_student = true;
let location;
let address = null;
console.log(typeof name); // string
console.log(typeof age); // number
console.log(typeof salary); // number
console.log(typeof is_student); // boolean
console.log(typeof location); // undefined
console.log(typeof address); // null