ЈаваСцрипт Воид 0 Објашњено за само 5 минута

ЈаваСцрипт је скриптни језик који се може користити иу фронт-енд и бацк-енд развоју. Помоћу овог програмског језика можете креирати садржај који се динамички ажурира, анимирате слике и контролише мултимедију.

ЈаваСцрипт има стотине оквира и библиотека и такође је најчешће коришћени програмски језик, према Статиста.

ЈаваСцрипт има различите операторе креиране за постизање различитих улога. У овом чланку ћу објаснити шта је ЈаваСцрипт Воид (0), његову важност, случајеве коришћења и предности, потенцијалне безбедносне ризике и његове алтернативе.

Шта је оператор Воид (0)?

У нашим речницима, воид значи ‘неважећи’ или ‘потпуно празан’. Воид (0) је оператор који проверава дату вредност и враћа недефинисану. Функција се сматра неважећом ако ништа не враћа. Оператор воид (0) може се користити у многим областима.

На пример, можете имати ЈаваСцрипт да врати недефинисан када кликнете на ознаку сидра. Када се то догоди, то значи да страница на коју кликнете неће бити освежена и да се ништа неће десити тој страници.

Важност коришћења оператора Воид и 0 као операнда

Можете користити оператор воид са било којим изразом. Међутим, у ЈаваСцрипт-у се углавном користи са 0 као операндом. Ево неколико случајева употребе оператора Воид (0):

Спречите навигацију

У нормалним приликама, ако кликнете на везу, вероватно ће вас одвести на нову страницу. Можемо да направимо пројекат да покажемо како функционише. Имаћу две датотеке на свом пројекту: индек.хтмл и нектПаге.хтмл.

Овај код можете додати различитим датотекама на следећи начин:

Индек.хтмл

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Home Page</title>
</head>
<body>
    <h1>Welcome to the Home Page</h1>
    <a href="https://wilku.top/javascript-void-0-explained-in-just-5-minutes/nextPage.html">Go to Next Page (No void operator)</a>
    <script src="script.js"></script>
</body>
</html>
nextPage.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Next Page</title>
</head>
<body>
    <h1>You are on the Next Page</h1>
    <a href="index.html">Go back to Home Page (No void operator)</a>
    <script src="script.js"></script>
</body>
</html>

Погледајте овај видео:

Као што видите, можете да се крећете од ‘Почетне’ до ‘Следеће странице’ кликом на дугме.

Сада можемо увести оператор воид (0) који блокира навигацију. Додајте овај код у индек.хтмл:

<!-- With void operator -->
<a href="https://wilku.top/javascript-void-0-explained-in-just-5-minutes/javascript:void(0);" onclick="doSomething()">Click me</a>
<script>
  function doSomething() {
    alert("Button clicked, but no navigation!");
  }
</script><!-- With void operator -->
<a href="https://wilku.top/javascript-void-0-explained-in-just-5-minutes/javascript:void(0);" onclick="doSomething()">Click me</a>
<script>
  function doSomething() {
    alert("Button clicked, but no navigation!");
  }
</script>

Погледајте овај видео када притиснемо дугме „Кликни ме“:

  Како користити плутајуће апликације (превуците преко) на иПад-у

Можете видети да се након клика на дугме појављује ово упозорење „Кликнуто дугме, али нема навигације!“ се појављује, али не идемо на следећу страницу.

Анонимне функције које се самостално извршавају

Самоизвршавајућа анонимна функција или израз одмах позване функције (ИИФЕ) је функција која се дефинише и извршава након креирања. Такве функције су дизајниране да креирају приватни опсег за варијабле које спречавају ове функције да загаде глобални опсег.

Погледајте овај код:

void function() {
    // Function to calculate the sum of numbers from 1 to n
    const calculateSum = () => {
        let sum = 0;
        for (let i = 1; i <= 10; i++) {
            sum += i;
        }
        return sum;
    };
    // Call the function and log the result to the console
    const result = calculateSum();
    console.log("The sum of numbers from 1 to 10 is:", result);
}();

Ово је самоизвршена функција која сабира све бројеве од 1-10 и приказује резултате када се код изврши.

Када покренете код, излаз ће бити: „Збир бројева од 1 до 10 је: 55“.

Како комбиновати ЈаваСцрипт и Воид 0

Оператор воид није ексклузиван за ЈаваСцрипт јер је доступан у другим програмским језицима као што су Ц и Ц++. Међутим, употреба овог оператора варира од језика до језика. На пример, воид је тип података у програмским језицима Ц и Ц++, а не оператор.

ЈаваСцрипт користи кључну реч ‘воид’ са нумеричком нулом. Можете да користите оператор воид () да спречите подразумевано понашање, као што је навигација претраживача до следеће УРЛ адресе. Ово је савршен пример блока кода који комбинује ЈаваСцрипт са оператором воид ().

<a href="https://wilku.top/javascript-void-0-explained-in-just-5-minutes/javascript:void(0);" onclick="myFunction()">Click me</a>

Такође можете користити оператор воид () да добијете недефинисану примитивну вредност. Погледајте овај блок кода:

const result = void(0);const result = void(0);

Када га покренете, добићете недефинисано.

Које су предности Воид (0)?

У ЈаваСцрипт-у користимо оператор воид () да креирамо „воид“ или „недефинисане“ вредности. Ово су неке од предности коришћења овог оператора у вашем коду:

  • Спречавање навигације: Можемо да користимо оператор воид(0) у атрибуту хреф ако желимо да спречимо претраживаче да иду на нову страницу када кликнемо на везу или дугме. Овај блок кода илуструје како функционише:
<a href="https://wilku.top/javascript-void-0-explained-in-just-5-minutes/javascript:void(0);" onclick="myFunction();">Click me</a>
  • Врати недефинисане вредности из функција: Као програмер, можете да користите оператор воид () да експлицитно вратите недефинисано када желите доследност кода у вашој апликацији. Погледајте овај блок кода:
function myFunction() {
    // do something
    return void(0);
}
  • Избегавајте доделу ‘недефинисано’: можете користити воид () на такав начин да је ‘недефинисано’ еквивалентно ‘резултату’. Можете га користити и као стилски избор. Овај блок кода показује како то можете постићи:
let result = void(0);
  • Учините код читљивијим: Читљивост кода није нешто што бисмо требали занемарити, посебно када се бавимо великим апликацијама. Можете да користите воид() када желите да експлицитно одбаците повратну вредност и обавестите друге програмере да функција неће вратити ништа. Овај блок кода показује како то можете постићи:
function myFunction() {
  // Do something...
  return void(0);
}

Потенцијални безбедносни ризици поништавања (0)

Иако је воид (0) користан у различитим случајевима у ЈаваСцрипт-у, може се показати и опасним ако се не користи правилно. Ово су неки од случајева у којима се воид (0) може злонамерно користити:

  • Рањивости убризгавања скрипте: Постоје потенцијални ризици од напада убризгавањем скрипте ако вредност која је прослеђена оператору воид () није прочишћена и потврђена. Добар пример је када се ова вредност динамички генерише на основу корисничког уноса.
<a href="https://wilku.top/javascript-void-0-explained-in-just-5-minutes/javascript:void(alert("This could be malicious!'));">Click me</a>

Такав блок кода омогућава корисницима да убаце злонамерни код.

  • Цлицкјацкинг: Нападачи могу да користе воид операторе да креирају транспарентне/невидљиве слојеве преко веб странице. Такви нападачи ће затим користити ове слојеве да преваре кориснике да кликну на злонамерне везе и дугмад.
  • Може се користити за заобилажење Политика безбедности садржаја (ЦСП): Већина власника веб локација користи ЦСП да спречи нападе скриптовања на више локација (КССС). Можете да користите ЦСП да ограничите природу скрипти и ресурса које ваше веб странице треба да учитавају. Међутим, употреба оператора воид () може бити у сукобу са таквим мерама јер учитава чак и скрипте које нису дозвољене политиком безбедности садржаја.
  Шта су ОТП ботови?

Алтернативе за поништавање (0)

Технологија се стално мења, па тако и програмирање. Неки људи виде воид (0) као застарелог оператера. Ово су неке од алтернатива које савремени програмери користе:

  • Користите евент.превентДефаулт(): Можете користити евент.превентДефаулт() да спречите да се деси акција. Таква изјава може спречити кориснике да поднесу образац или да пређу на следећу страницу.

Ови исечци кода показују како се користи евент.превентДефаулт:

#html
<a href="#" onclick="event.preventDefault()">My Link</a>
#JavaScript
document.querySelector('a').addEventListener('click', event => event.preventDefault());
  • Користите # као вредност хреф: Различите странице у апликацији су међусобно повезане ради лакше навигације. Коришћење # као хреф обезбеђује да корисници остану на истој страници. Овај приступ можете користити заједно са евент.преветДефаулт() да бисте спречили померање ваше веб странице до врха. Ово можете постићи овако:
#html

<a href="#">My Link</a>
#JavaScript
document.querySelector('a').addEventListener('click', event => {
  event.preventDefault();
  window.scrollTo(0, 0);
});
  • Користите нулл: Можете да вратите вредност нулл уместо недефинисане. Ово можете постићи овако:
let result = null;

ФАКс

Шта је ЈаваСцрипт?

ЈаваСцрипт је програмски језик који се углавном користи у фронт-енд развоју. Међутим, овај језик се користи у позадинском развоју са оквирима као што је Ноде.јс. ЈаваСцрипт се углавном користи са другим фронт-енд технологијама као што су ЦСС и ХТМЛ за додавање интерактивности веб страницама.

Шта је ЈаваСцрипт Воид 0?

ЈаваСцрипт Воид 0 је оператор који се користи за спречавање подразумеване радње. На пример, можете да користите воид (0) да спречите навигацију када корисник кликне на везу или дугме. Када се кликне на везу из кода са воид (0), претраживач покушава да се креће, али резултати се процењују на недефинисано.

  Како да подесите и користите Сири на иПхоне-у

Да ли постоје алтернативе за воид (0)?

Да. Већина савремених програмера користи слушаоце догађаја уместо воид (0) у свом коду. Овај приступ олакшава руковање различитим функцијама и спречава подразумевано понашање у изворним кодовима.

Да ли је коришћење воид (0) безбедно?

Можете да користите воид (0) да спречите подразумевано понашање и са функцијама које се самоизвршавају. Међутим, воид (0) може бити опасан ако га не користите свесно у свом коду. На пример, такав оператер може олакшати убацивање злонамерног кода ако се примени на корисничке уносе.

Закључак

ЈаваСцрипт је веома широк програмски језик и можда ће вам требати време пре него што савладате већину његових концепата.

Научили смо шта је оператор воид (0) његова важност и случајеви употребе и његове алтернативе. Такође сада разумете како да комбинујете ЈаваСцрипт и воид(0) потенцијалне ризике на које ћете вероватно наићи када користите овај оператор.
Такође можете истражити нека најбоља ЈаваСцрипт Рунтиме окружења за боље извршавање кода.