JS useful operations

JS Operations - JS дээрх үйлдлүүд

Convert Values - Утгуудыг өөрчлөх

Хэрвээ бид нар JS дээр нэг утгын төрлийг өөр утгын төрлөөр өөрчлөх ёстой бол анхаарах зүйлс бол 42 нь тоо бөгөөд харин "42" нь тэмдэгт мөр учир 42 + 1 гэж бичих боломжтой бол харин "42" + 1 гэж бичвэл 2 өөр төрлийн утгыг нэмж байгаа гэж ойлгох ёстой.

Strings to Number - Тоо болгож өөрчлөх

parseInt() гэдэг функц ашиглан текст төрлөөс тоон төрөл рүү оруулж болдог.


let str = "42";

let num = parseInt(str);

console.log(num + 8); // 50

console.log(parseInt( '42nd Street')); // 42
                        

Strings to Number - Тоо болгож өөрчлөх

parseFloat() гэдэг функц ашиглан


let str = "42.5656";

let num = parseInt(str);

console.log(num + 8); // 50.5656
                        

Strings to Number - Тоо болгож өөрчлөх

Хэрвээ тухайн текстийг тоон төрөл рүү хөрвүүлэхэд алдаа гарвал NaN гэж гарч ирнэ.

let str = 'Hello';

let num = parseInt(str);

console.log(num); // NaN
                                                

Strings to Number - Тоо болгож өөрчлөх

isNaN гэдэг функцээр тоо болгож өөрчлөхөд алдаа гарсан эсэхийг шалгаж болно.


let str = 'Hello';

let num = parseInt(str);

console.log(isNaN(num)); // true
                    

Number to String - Тоо болгож өөрчлөх

Тоо болгож өөрчлөх үед toString() функц ашиглана.

let num = 42;

let str = num.toString();

console.log(str); // "42"
                    

JS Operations - JS дээрх үйлдлүүд

Do Arithmetic Operations - Математик үйлдлүүд

Do Arithmetic Operations - Математик үйлдлүүд

                        
let sum = 80 + 20 ; console.log( 'Addition: ' + sum )
let sub = sum - 50 ; console.log( 'Subtraction: ' + sub )
let mul = sum * 5 ; console.log( 'Multiplication: ' + mul )
let div = sum / 4 ; console.log( 'Division: ' + div )
let mod = sum % 2 ; console.log( 'Modulus: ' + mod )
let inc = ++sum ; console.log( 'Increment: ' + inc )
let dec = --sum ; console.log( 'Decrement: ' + dec )
                        
                    

JS Operations - JS дээрх үйлдлүүд

Assign Values - Утга оноох

Assign Values - Утга оноох

                        
let sum = 5.00; sum += 5; console.log( 'Add & assign decimal: ' + sum ); // 10

sum = 8; sum -= 4; console.log( 'Subtract & assign: ' + sum ); // 4

sum = 8; sum *= 4; console.log( 'Multiply & assign: ' + sum ); // 32

sum = 8; sum /= 4; console.log( 'Divide & assign: ' + sum ); // 2

sum = 8; sum %= 4; console.log( 'Modulus & assign: ' + sum ); // 0
                        
                    

JS Operations - JS дээрх үйлдлүүд

Comparison Operations - Харьцуулах үйлдлүүд

Comparison Operators

Basic Operators: Үндсэн Операторууд:

  • Equal (==)
  • Strict Equal (===)
  • Not Equal (!=)
  • Strict Not Equal (!==)

Relational Operators: Харьцуулах Операторууд

  • Greater Than (>)
  • Less Than (<)< /li>
  • Greater Than or Equal (>=)
  • Less Than or Equal (<=)< /li>

Equality vs Strict Equality


    // Equality (==)
    5 == "5"    // true (type coercion)
    null == undefined    // true
    0 == false  // true

    // Strict Equality (===)
    5 === "5"   // false (different types)
    null === undefined   // false
    0 === false // false
                        

Санана уу: === төрөл болон утга хоёулаа адилхан байна гэдгийг шалгана

Type Coercion Жишээнүүд

Expression Үр дүн Яагаад?
"1" == 1 true String converted to number
[1] == 1 true Array converted to primitive
["1"] == 1 true Multiple conversions
{} == {} false Different references

Inequality Operators

Not Equal (!=)


    5 != "5"    // false
    5 != 6      // true
    null != undefined    // false
                            

Strict Not Equal (!==)


    5 !== "5"   // true
    5 !== 5     // false
    null !== undefined   // true
                            

Relational Operators


    // Number comparison
    5 > 3       // true
    5 >= 5      // true
    3 < 5       // true
    3 <= 3      // true

    // String comparison (alphabetical)
    "apple" < "banana"   // true
    "zebra" > "yellow"   // true

    // Mixed types
    "5" > 3     // true (string "5" converted to number)
    "10" < "5"  // true (string comparison!)
                        

Common Pitfalls (Зарим нэг анхаарах зүйлс)

Expression Үр дүн Тайлбар
[] == false true Хоосон array 0-руу хөрвүүлэгддэг
"" == false true Хоосон string 0-руу хөрвүүлэгддэг
[0] == false true Complex type coercion
null >= 0 true null 0-руу хөрвүүлэгддэг

Best Practices

  • == ны оронд === болж өгвөл хэрэглэх
  • type conversions-ийг буюу төрөл дээр маш тодорхой байх.
  • array болон object харьцуулахдаа болгоомжтой байх.
  • null болон undefined төрөл дээр болгоомжтой байх.

    // Good practices
    const userAge = 25;
    if (userAge === 25) { }  // ✅
    if (String(userAge) === "25") { }  // ✅

    // Avoid
    if (userAge == "25") { }  // ❌
    if ([1] == 1) { }  // ❌
                        

Comparison Operations - Харьцуулах үйлдлүүд

                        
let comparison = str === 'JAVASCRIPT'
    console.log( 'String Equality?' + comparison )
comparison = str === 'JavaScript'
    console.log( 'String Equality? ' + comparison )
comparison = sum === 8
    console.log( 'Number Equality? ' + comparison )
comparison = sum > 5
    console.log( 'Greater Than? ' + comparison )
comparison = sum < 5
    console.log( 'Less Than? ' + comparison )
comparison = sum <= 8
    console.log( 'Less Than or Equal To? ' + comparison )
                        
                    

Practice Exercises

Дараах харьцуулалтуудын хариу нь юу вэ?


    1. "2" > 1
    2. [2] === 2
    3. null == undefined
    4. null === undefined
                    

Хариултууд:

  1. true (string "2" number төрөл рүү хөрвүүлэгдэнэ)
  2. false (өөр төрлүүд)
  3. true (тусгай тохиолдол)
  4. false (өөр төрлүүд)

JS Operations - Assess Logic

Assess Logic - Логик үйлдлүүд хийх

Үндсэн агуулга

Boolean values:

  • true (1)
  • false (0)

Common operators:

  • AND (&&)
  • OR (||)
  • NOT (!)

AND Operator (&&)

Зөвхөн 2 утга нь 2-лаа true үед TRUE буцаана.

A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1

OR Operator (||)

Хэрвээ 2 утганы аль нэг нь үнэн байвал утгыг буцаана.

A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1

NOT Operator (!)

Тухайн утгын эсрэгийг нь буцаана

A !A
0 1
1 0

JavaScript Жишээнүүд


    // AND
    let resultAND = true && true;    // true
    let resultAND2 = true && false;  // false

    // OR
    let resultOR = true || false;    // true
    let resultOR2 = false || false;  // false

    // NOT
    let resultNOT = !true;           // false
                    

Real-World Applications

AND Example:


if (isLoggedIn && hasPermission) {
allowAccess();
}
                            

OR Example:


if (isAdmin || isModerator) {
    showControlPanel();
}
                            

NOT Example:


if (!isAuthenticated) {
    redirectToLogin();
}
                            

Шалгах Асуултууд

  1. Дараах утгуудын хариу нь юу вэ?: true AND false?
  2. Дараах утгуудын хариу нь: true OR true?
  3. Дараах утгуудын хариу нь: !true?
  4. Дараах утгуудын хариу нь: !false?

Answers: false, true, false, true

JS Operations - Ternary Operator

JavaScript Ternary Operator

condition ? expression1 : expression2

The Conditional (Ternary) Operator

Ternary Operator гэж юу вэ?


    // Syntax:
    condition ? valueIfTrue : valueIfFalse

    // Example:
    let age = 20;
    let status = age >= 18 ? "Adult" : "Minor";
                        
  • if-else statement-ийн богино хувилбар юм.
  • 2 утганы нэг утгыг дамжуулна.
  • Нөхцөл дээр суурилдаг

if-else

If-Else Version


    let score = 75;
    let result;

    if (score >= 60) {
        result = "Pass";
    } else {
        result = "Fail";
    }
                                

Ternary Version


    let score = 75;
    let result = score >= 60
        ? "Pass"
        : "Fail";
                                

Үндсэн Жишээнүүд


    // Тухайн тоо нь нэмэх эсвэл хасах болохыг шалгах
    let number = -5;
    let type = number >= 0 ? "positive" : "negative";

    // String нь хоосон эсэхийг шалгах
    let text = "";
    let message = text ? "Has content" : "Empty";

    // Хэрэглэгчийн төлвийг шалгах
    let isLoggedIn = true;
    let greeting = isLoggedIn ? "Welcome back!" : "Please log in";
                        

Chaining Ternary Operators (Ternary Operator-уудыг холбох)


    // Олон нөхцлүүд
    let score = 85;
    let grade = score >= 90 ? "A"
             : score >= 80 ? "B"
             : score >= 70 ? "C"
             : score >= 60 ? "D"
             : "F";

    // Давхардсан нөхцлүүд
    let age = 20;
    let hasID = true;
    let canDrive = age >= 16
        ? (hasID ? "Can drive" : "Need ID")
        : "Too young";
                        

Template Literals ашиглаж үүсгэх


    let name = "John";
    let isAdmin = false;

    console.log(`${name} is ${isAdmin ? "an admin" : "a regular user"}`);

    // Тоогоор илэрхийлэх
    let quantity = 3;
    let message = `You have ${quantity} item${quantity === 1 ? '' : 's'}`;
                        

Object Properties дотор ашиглах.


    let isSubscribed = true;
    let isPremium = false;

    const user = {
        name: "Alice",
        access: isSubscribed ? "full" : "limited",
        features: {
            chat: true,
            storage: isPremium ? "unlimited" : "10GB"
        }
    };
                        

Ихэнхдээ ашиглагдах Use Cases

UI Elements


const button = {
    class: isActive ? "btn-active" : "btn-inactive",
    text: isLoading ? "Loading..." : "Submit"
};
                            

Default Values


const username = input ? input : "Guest";
// Эсвэл богиноор:
const username = input ?? "Guest";
                            

Best Practices

  • Нөхцлийг энгийн байлгахыг хичээх
  • Хэтэрхий давхардуулахгүй байх
  • Хаалтыг ашиглаж зааглаж харуулах
  • Уншигдах болон ойлгогдох байдалд тохируулж хэрэглэх.

    // Good - энгийн бөгөөд тодорхой
    let status = age >= 18 ? "Adult" : "Minor";

    // Avoid - хэтэрхий давхардуулах
    let result = a > b
        ? (c > d ? e : f)
        : (g > h ? i : j);
                        

Practice Exercises

Дараах if-else statement-үүдийг ternary-operator луу хөрвүүлнэ үү.


    // Exercise 1
    if (temperature > 30) {
        weather = "Hot";
    } else {
        weather = "Normal";
    }

    // Exercise 2
    if (userName) {
        greeting = `Hello, ${userName}`;
    } else {
        greeting = "Hello, Guest";
    }

    // Exercise 3
    if (score >= 75) {
        result = "Pass";
    } else if (score >= 50) {
        result = "Retry";
    } else {
        result = "Fail";
    }
                        

Хариулт


    // Хариулт 1
    weather = temperature > 30 ? "Hot" : "Normal";

    // Хариулт 2
    greeting = userName ? `Hello, ${userName}` : "Hello, Guest";

    // Хариулт 3
    result = score >= 75 ? "Pass"
           : score >= 50 ? "Retry"
           : "Fail";
                        

JS Operations - Bitwise Operators

JavaScript Битийн Операторууд

Бит хэмжигдэхүүнтэй ажиллах

Битийн түвшний үйлдлүүд

Битийн Операторууд

Оператор Нэр Тайлбар
& AND Битийн БАС
| OR Битийн ЭСВЭЛ
^ XOR Битийн Онцгой ЭСВЭЛ
~ NOT Битийн ҮГҮЙ
<< Зүүн шилжилт Битүүдийг зүүн тийш шилжүүлэх
>> Баруун шилжилт Битүүдийг баруун тийш шилжүүлэх

Битийн AND (&)


    let a = 5;  // 0101 хоёртын системд
    let b = 3;  // 0011 хоёртын системд

    let result = a & b; // 0001 = 1 аравтын системд

    // Жишээ:
    console.log(5 & 3); // 1 гэж хэвлэнэ
                        
0101 (5)
0011 (3)
----
0001 (1)

Битийн OR (|)


    let a = 5;  // 0101 хоёртын системд
    let b = 3;  // 0011 хоёртын системд

    let result = a | b; // 0111 = 7 аравтын системд

    // Жишээ:
    console.log(5 | 3); // 7 гэж хэвлэнэ
                        
0101 (5)
0011 (3)
----
0111 (7)

Битийн XOR (^)


    let a = 5;  // 0101 хоёртын системд
    let b = 3;  // 0011 хоёртын системд

    let result = a ^ b; // 0110 = 6 аравтын системд

    // Жишээ:
    console.log(5 ^ 3); // 6 гэж хэвлэнэ
                        
0101 (5)
0011 (3)
----
0110 (6)

Битийн NOT (~)


    let a = 5;  // 0101 хоёртын системд

    let result = ~a; // 11111111111111111111111111111010
                    // = -6 аравтын системд

    // Жишээ:
    console.log(~5); // -6 гэж хэвлэнэ
                        

Тайлбар: NOT үйлдэл нь бүх битийг эсрэгээр нь болгоно

Зүүн Шилжилт (<<)


    let a = 5;    // 0101 хоёртын системд
    let result = a << 1; // 1010 = 10 аравтын системд

    // Жишээ:
    console.log(5 << 1); // 10 гэж хэвлэнэ
    console.log(5 << 2); // 20 гэж хэвлэнэ
                        
0101 (5)
----
1010 (10) << 1 шилжилт
10100 (20) << 2 шилжилт

Баруун Шилжилт (>>)


    let a = 5;    // 0101 хоёртын системд
    let result = a >> 1; // 0010 = 2 аравтын системд

    // Жишээ:
    console.log(5 >> 1); // 2 гэж хэвлэнэ
    console.log(5 >> 2); // 1 гэж хэвлэнэ
                        
0101 (5)
----
0010 (2) >> 1 шилжилт
0001 (1) >> 2 шилжилт

Жишээ: Нууц Үгийн Эрх


    // Эрхийн тохиргоо
    const ADMIN = 4;     // 100
    const WRITE = 2;     // 010
    const READ = 1;      // 001

    // Хэрэглэгчийн эрх
    let userPermission = READ | WRITE; // 011 = 3

    // Эрх шалгах
    if (userPermission & READ) {
        console.log("Унших эрхтэй");
    }

    if (userPermission & ADMIN) {
        console.log("Админ эрхтэй");
    } else {
        console.log("Админ эрхгүй");
    }
                        

Жишээ: Төлөв Шалгах


    const WORKING = 1;   // 001
    const BREAK = 2;     // 010
    const VACATION = 4;  // 100

    let employeeStatus = WORKING | BREAK; // 011

    // Төлөв шалгах
    function checkStatus(status) {
        if (status & WORKING) {
            console.log("Ажиллаж байгаа");
        }
        if (status & BREAK) {
            console.log("Завсарлага авсан");
        }
        if (status & VACATION) {
            console.log("Амралттай");
        }
    }

    checkStatus(employeeStatus);
                        

Дасгал Ажлууд

Дараах битийн үйлдлүүдийн хариу юу вэ?


    1. 12 & 5
    2. 12 | 5
    3. 12 ^ 5
    4. ~12
    5. 12 << 2
                        

Хариултууд:

  1. 4 (0100)
  2. 13 (1101)
  3. 9 (1001)
  4. -13
  5. 48 (110000)

Хэрэглээний Жишээнүүд

  • Нууц үгийн эрх удирдах
  • Төлөв шалгах
  • Тоон өгөгдөл шифрлэх
  • Хурдан үржүүлэх, хуваах (2-ын зэргээр)
  • Санах ойн хэмнэлт

JS Operations - Order of Operators

JavaScript Операторуудын Дараалал

Тооцоолол хийх дараалал

Операторуудын ач холбогдлын эрэмбэ

Операторын Дарааллын Ерөнхий Дүрэм

  • Хаалт доторх үйлдэл эхэлж гүйцэтгэгдэнэ
  • Үржих, хуваах нь нэмэх, хасахаас өмнө
  • Ижил түвшний үйлдлүүд зүүнээс баруун руу
  • Онооx үйлдэл хамгийн сүүлд

Үндсэн Дараалал

Түвшин Операторууд Тайлбар
18 ( ) Хаалт
17 . [ ] Элемент хандалт
16 ( ) Функцын дуудалт
15 ++ -- Нэгээр нэмэх/хасах
14 ! ~ Logical NOT, Bitwise NOT
13 ** Exponentiation (Зэрэг)
12 * / % Үржих, хуваах, үлдэгдэл

Үндсэн Дараалал

Түвшин Операторууд Тайлбар
11 + - Нэмэх, хасах
10 << >> >>> Битээр баруун зүүн тийш шилжүүлэх
9 < <= => > Утга харьцуулах
8 === === !== != Адил болон адил биш утга шалгах
7 & БИТ AND (&)
6 ^ БИТ XOR

Үндсэн Дараалал

Түвшин Операторууд Тайлбар
5 | БИТ OR
4 && Логикийн бас
3 ?: ternary operator
2 = += –= *= /= %= &= ^= |= <<= >>= >>>= Утга оноох операторууд
1 , Таслал

Үржих ба Хуваах


    // Жишээ 1: Үржих болон нэмэх
    let result1 = 2 + 3 * 4;    // 14 (3 * 4 эхэлж)
    let result2 = (2 + 3) * 4;  // 20 (хаалт эхэлж)

    // Жишээ 2: Хуваах болон хасах
    let result3 = 10 - 6 / 2;   // 7 (6 / 2 эхэлж)
    let result4 = (10 - 6) / 2; // 2 (хаалт эхэлж)
                        

Нэгээр Нэмэх/Хасах


    let a = 5;
    let b = 5;

    // Өмнө нь нэмэх
    let result1 = ++a * 2;  // a = 6, result1 = 12

    // Дараа нь нэмэх
    let result2 = b++ * 2;  // result2 = 10, b = 6

    console.log(a);      // 6
    console.log(b);      // 6
    console.log(result1); // 12
    console.log(result2); // 10
                        

Логик Операторууд


    // && нь || -оос өмнө гүйцэтгэгдэнэ
    let result = true || false && false;  // true

    // Хаалт ашиглавал өөр үр дүн гарна
    let result2 = (true || false) && false;  // false

    // Жиш болон логик операторууд
    let x = 5;
    let y = 10;
    let z = 15;

    let result3 = x < y && y < z;  // true
    let result4 = x > y || y < z;  // true
                        

Оноох Үйлдлүүд


    let a = 5;
    let b = 10;
    let c = 15;

    // Оноох үйлдэл баруунаас зүүн рүү
    let result = a = b = c;  // a, b, c бүгд 15 болно

    // Нийлмэл оноолт
    let x = 10;
    x += 5;  // x = x + 5
    x *= 2;  // x = x * 2

    console.log(x);  // 30
                        

Нийлмэл Жишээнүүд


    // Жишээ 1
    let result1 = 2 * 3 + 4 * 5;
    // 1. 2 * 3 = 6
    // 2. 4 * 5 = 20
    // 3. 6 + 20 = 26

    // Жишээ 2
    let result2 = 10 + 20 / 5 + 3 * 2;
    // 1. 20 / 5 = 4
    // 2. 3 * 2 = 6
    // 3. 10 + 4 + 6 = 20
                        

Түгээмэл Алдаанууд

Буруу:


    let x = 5;
    let y = 3;
    let result = x + y * 2++;  // Алдаа!
                            

Зөв:


    let x = 5;
    let y = 3;
    y++;
    let result = x + y * 2;
                            

Дасгал Ажлууд

Дараах илэрхийллүүдийн үр дүн юу вэ?


    1. 15 - 5 * 3 + 6 / 2
    2. 10 + 20 / (5 + 5)
    3. 2 + 3 * 4 / 2
    4. (10 + 5) * 3 - 15 / 3
                        

Хариултууд:

  1. 3
  2. 12
  3. 8
  4. 40

JS Operations - Summary

JavaScript-ийн Үндсэн Ойлголтуудын Дүгнэлт

Төрөл Хөрвүүлэлт

  • parseInt() болон parseFloat() функцүүд нь текстийг тоо руу хөрвүүлнэ
  • String() болон toString() функцүүд нь тоог текст рүү хөрвүүлнэ

    parseInt("123");     // 123
    parseFloat("12.34"); // 12.34
    String(123);        // "123"
    (123).toString();   // "123"
                        

Тооны Шалгалт

  • isNaN() функц нь өгөгдсөн утга NaN (Not a Number) мөн эсэхийг шалгана

    isNaN("тоо");  // true
    isNaN(123);    // false
    isNaN("123");  // false
                        

Арифметик Операторууд

  • Үндсэн арифметик үйлдлүүдээс гадна:
  • % - үлдэгдэл
  • ++ - нэгээр нэмэх
  • -- - нэгээр хасах
  • ** - зэрэг

Нэмэх/Хасах Операторын Байрлал

  • Өмнө нь бичвэл ++x эсвэл --x нэн даруй утга өөрчлөгдөнө
  • Дараа нь бичвэл x++ эсвэл x-- илэрхийлэл эхэлж үнэлэгдэнэ

    let x = 5;
    console.log(++x);  // 6
    let y = 5;
    console.log(y++);  // 5 (дараа нь 6 болно)
                        

Нийлмэл Оноолтын Операторууд

  • = оператор нь арифметик операторуудтай хослон ашиглагдаж болно
  • += оператор нь текст залгахад тохиромжтой

    let x = 5;
    x += 3;  // x = x + 3
    let text = "Сайн";
    text += " байна";  // "Сайн байна"
                        

Харьцуулах Операторууд

  • === - яг тэнцүү
  • !== - тэнцүү биш
  • > - их
  • < - бага
  • <= болон >= - тэнцүү үед мөн true буцаана

Логик Операторууд

  • && (AND) - хоёр операнд true үед true буцаана
  • || (OR) - аль нэг операнд true үед true буцаана
  • ! (NOT) - утгын эсрэгийг буцаана

Гурвалсан Оператор

  • ?: оператор нь нөхцөл шалгаад үр дүнгээс хамааран хоёр үйлдлийн аль нэгийг гүйцэтгэнэ

    let nas = 20;
    let status = nas >= 18 ? "насанд хүрсэн" : "насанд хүрээгүй";
                        

Битийн Операторууд

  • JavaScript-д битийн операторууд нь хоёртын системийн тоонуудтай ажиллах боломжийг олгоно
  • Битийн түвшинд арифметик үйлдэл гүйцэтгэх боломжтой

Операторуудын Дараалал

  • JavaScript операторууд нь ач холбогдлын түвшингээс хамааран өөр өөр дарааллаар үнэлэгдэнэ
  • () хаалтыг ашиглан илэрхийллийг эхэлж үнэлэх боломжтой

    let result = (2 + 3) * 4;  // 20
    let result2 = 2 + 3 * 4;   // 14