Bisakah Anda memberikan nilai dalam javascript?

JavaScript dianggap sebagai bahasa pass-by-value, tetapi pada saat variabel merujuk ke suatu objek, nilainya menjadi referensi dari objek itu.

Sekarang, mari kita lihat apa itu pass by value dan pass by reference

Dalam pass by value, suatu fungsi dapat dipanggil dengan secara langsung meneruskan nilai variabel sebagai argumen. Jika Anda mengubah argumen di dalam fungsi, itu tidak akan memengaruhi variabel yang diteruskan dari luar fungsi

Karena JavaScript selalu melewati nilai, mengubah nilai variabel tidak akan mengubah primitif yang mendasarinya (angka atau string)

Mari kita tunjukkan dalam contoh di bawah ini

Bisakah Anda memberikan nilai dalam javascript?
Javascript mengubah nilai variabel

fungsi callByValue(var1, var2) { konsol. log("Panggilan Orang Dalam"); . log("var1 =" + var1 + " var2 =" + var2); . log("Sebelum Memanggil"); . log("var1 =" + var1 + " var2 =" + var2); . log("Setelah Panggilan"); . log("var1 =" + var1 + " var2 =" + var2);

Outputnya adalah sebagai berikut

Before Call by Value Method
var1 =100 var2 =200
Inside Call by Value Method
var1 =10 var2 =20
After Call by Value Method
var1 =100 var2 =200

Tetapi jika variabel merujuk ke objek yang menyertakan array, nilainya adalah referensi ke objek tersebut

Pass by value adalah cara pemrograman yang lebih aman, yang mencegah pemrogram menimpa variabel di dalam fungsi. JavaScript dan bahasa pemrograman modern lainnya menggunakannya dalam hal primitif

Dalam referensi lewat, suatu fungsi dapat dipanggil dengan langsung meneruskan referensi/alamat variabel sebagai argumen. Jika Anda mengubah argumen di dalam fungsi, itu akan memengaruhi variabel yang dikirimkan dari luar fungsi

Dalam JavaScript, objek dan larik dilewatkan dengan referensi

Ini sebuah contoh

Bisakah Anda memberikan nilai dalam javascript?
Objek dan larik Javascript diteruskan dengan referensi

fungsi callByReference(obj) { konsol. log("Di dalam Panggilan dengan Referensi"); . a = 100; . log(obj); . 1 }; . log("Sebelum Memanggil dengan Referensi"); . log(obj); . log("Setelah Panggilan dengan Referensi"); . log(obj);

Keluaran akan

Before Call by Reference Method
{a: 1}
Inside Call by Reference Method
{a: 100}
After Call by Reference Method
{a: 100}
_

Elemen paling sederhana dari bahasa pemrograman disebut primitif. Mereka berbeda dari bahasa ke bahasa tetapi umumnya merupakan nilai abadi yang paling dasar

Tipe data primitif JavaScript berikut diteruskan oleh nilai. string, boolean, angka, null, tidak terdefinisi

Primitif disalin dengan nilainya berarti bahwa variabel dilewatkan diakses oleh nilainya

Primitif tidak dapat diubah, yang berarti nilainya tidak dapat diubah tetapi dapat dipindahkan

Objek dalam JavaScript termasuk dalam tipe referensi

Tidak seperti primitif, ukuran nilai referensi bersifat dinamis;

Objek adalah kumpulan properti yang dapat mereferensikan tipe data apa pun, termasuk objek dan nilai primitif. Anda dapat membuat objek dengan tanda kurung {…} dengan daftar properti

Umumnya, objek melewati hampir semua aspek JavaScript. Oleh karena itu, ini adalah salah satu hal pertama yang harus dipelajari

Salah satu fitur yang paling membingungkan dan menarik dalam pemrograman adalah membedakan apakah suatu variabel dilewatkan oleh Nilai atau dilewatkan oleh Referensi. Namun dalam JavaScript, kita tidak perlu bersusah payah karena satu-satunya konsep Pass by Value yang digunakan. JavaScript Pass by Value adalah fungsi yang dipanggil oleh nilai langsung dari variabel sebagai argumen. Dengan kata lain, perubahan argumen di dalam fungsi tidak akan memengaruhi variabel yang diteruskan dari luar fungsi. JavaScript menjadi Berorientasi Objek yang berarti sebagian besar bagian JavaScript adalah Objek. Jadi inilah konsep Tipe Data juga, tipe data Primitif dan Kompleks juga akan berperan dalam JavaScript Pass by Value

Sintaksis

function functionName(arg1) {
// code of the function
}
// call to the function
functionName(arg2);

Jadi di sini, functionName adalah fungsi yang memiliki argumennya sendiri, setelah definisi fungsi, kita memanggil functionName menggunakan argumen lain, yang secara otomatis akan menggantikan argumen yang ditentukan

JavaScript akan menyalin nilai variabel yang kita berikan ke fungsi sebagai variabel lokal. Setiap perubahan yang kami lakukan pada variabel lokal di dalam fungsi tidak akan memengaruhi argumen yang diteruskan

Mulai Kursus Pengembangan Perangkat Lunak Gratis Anda

Pengembangan web, bahasa pemrograman, pengujian Perangkat Lunak & lainnya

Kami memiliki 2 tipe data, tipe data Primitif (Tipe data tidak dapat diubah) dan Kompleks

  • Tipe Data Primitif. Angka, String, Boolean, tidak terdefinisi, dan NULL
  • Tipe Data Kompleks. Objek, fungsi atau larik, dll

Jadi inilah bagian yang menarik adalah, Hanya tipe Primitif yang dapat Dilewati oleh Nilai tetapi bukan tipe Kompleks, yang hanya dapat diteruskan dengan referensi. Secara teknis, Pass by Reference hadir dalam JavaScript. Ketika variabel memegang objek, array fungsi yang merupakan tipe kompleks melewati Referensi muncul di gambar di mana variabel menyimpan referensi atau alamat objek

Paket Pengembangan Perangkat Lunak Semua dalam Satu(600+ Kursus, 50+ proyek)

Bisakah Anda memberikan nilai dalam javascript?
Bisakah Anda memberikan nilai dalam javascript?
Bisakah Anda memberikan nilai dalam javascript?
Bisakah Anda memberikan nilai dalam javascript?

Bisakah Anda memberikan nilai dalam javascript?
Bisakah Anda memberikan nilai dalam javascript?
Bisakah Anda memberikan nilai dalam javascript?
Bisakah Anda memberikan nilai dalam javascript?

Harga
Lihat Kursus

600+ Kursus Daring. 50+ proyek. 3000+ Jam. Sertifikat yang Dapat Diverifikasi. Akses Seumur Hidup
4. 6 (86.697 peringkat)

Untuk saat ini, kita tidak perlu mempertimbangkan untuk melewati konsep Referensi dan masuk lebih dalam ke konsep Pass by Value

Contoh untuk Mengimplementasikan JavaScript Pass By Value

Di bawah ini adalah contoh-contoh yang disebutkan

Contoh 1

Kode

<!DOCTYPE html>
<html>
<body>
<script>
var employeeName1 = "Jack";
var employeeName2 = employeeName1;
employeeName1 = "Jane";
document.write(employeeName1 + "</br>");
document.write(employeeName2);
</script>
</body>
</html>

Keluaran

Bisakah Anda memberikan nilai dalam javascript?

Di sini, ini adalah hasil langsung, kami hanya menggunakan = operator di sini untuk menampilkan konsep nilai yang diteruskan

  • employeeName1 dibuat dengan nilai 'Jack'. JS mengalokasikan sebagian memori di sini
  • Variabel lain employeeName2 dibuat dan salinan employeeName1 diteruskan ke sana
  • Baik employeeName1 dan employeeName2 bersifat independen dan memiliki ruang memori sendiri yang dialokasikan
  • Sekarang, employeeName2 juga memiliki nilai 'Jack'. employeeName1 diubah menjadi 'Jane' tetapi employeeName2 akan tetap memiliki nilai asli i. e 'Jack' karena alokasi memori berbeda dan karenanya outputnya

Contoh #2

Kode

<!DOCTYPE html>
<html>
<body>
<script>
let x = 10;
let samplechange = (value) => {
value = 20
}
samplechange(x);
document.write(x);
</script>
</body>
</html>
_

Keluaran

Bisakah Anda memberikan nilai dalam javascript?

Contoh #3

Kode

<!DOCTYPE html>
<html>
<head>
<title>Pass by Value</title>
</head>
<body>
<h2>Pass by Value in JavaScript</h2>
<script>
var y = 30;
function sum(x) {
x = x + x;
}
sum(y);
document.write(y);
</script>
</body>
</html>

Keluaran

Bisakah Anda memberikan nilai dalam javascript?

Izinkan saya menjelaskan Cara Kerja Pass by Value dengan contoh di atas,

  • Kami mendefinisikan fungsi sum() yang menerima argumen x, fungsi mengubah nilai x menjadi 2 kali x
  • Di atas fungsi, kami telah mendeklarasikan dan menginisialisasi variabel y dengan nilai 30
  • Setelah isi fungsi, kita meneruskan variabel y ke fungsi sum(). Di sini ketika y diteruskan ke fungsi sum(), JavaScript akan menyalin nilai variabel y ke x
  • Pada sum(y), nilai x akan berubah sesuai fungsi yang tertulis, yaitu x + x, jadi nilai y x sekarang menjadi 60
  • Tetapi nilai y tidak akan berubah karena x dan y keduanya merupakan variabel yang berbeda
  • Jadi saat mencatat output nilai x akan menjadi 60 dan nilai y akan sama dengan 30
  • Jika nilai dilewatkan dengan referensi, nilai y akan berubah menjadi 60

Contoh #4

Sebelum callByValue, fungsi Inside dan setelah callByValue mengubah nilai variabel

Kode

<!DOCTYPE html>
<html>
<head>
<title>Pass by Value</title>
</head>
<body>
<h2>Pass by Value in JavaScript</h2>
<script>
function callValue(var1, var2) {
document.write("Inside Call by Value Method");
var1 = "Chaitanya";
var2 = "CPG";
document.write(" var1 = " + var1 +" var2 = " +var2 + "</br>");
}
let var1 = "Karthick";
let var2 = "IBM";
document.write("Before Call by Value Method");
document.write(" var1 = " + var1 +" var2 = " +var2 + "</br>");
callValue(var1, var2)
document.write("After Call by Value Method");
document.write(" var1 = " + var1 +" var2 = " +var2 + "</br>");
</script>
</body>
</html>
_

Keluaran

Bisakah Anda memberikan nilai dalam javascript?

Contoh #5

Kode

<!DOCTYPE html>
<html>
<head>
<title>Pass by Value</title>
</head>
<body>
<h2>Pass by Value in JavaScript</h2>
<script>
let var1 = 100;
function updateValue(var1){
var1 = var1 * 4;
document.write("Updated Value is: ", var1 + "</br>");
}
updateValue(var1);
document.write("Original Value is: ", var1);
</script>
</body>
</html>

Keluaran

Bisakah Anda memberikan nilai dalam javascript?

Keuntungan dari Pass By Value

Di bawah ini adalah kelebihannya

  • Beberapa nilai dapat dikembalikan dari suatu fungsi
  • Relatif, eksekusi lebih cepat karena tidak ada salinan argumen yang dibuat
  • Untuk menghindari perubahan jika dilakukan tanpa disadari, menggunakan referensi const dan meneruskannya akan membantu kita membatalkan perubahan
  • Pass by Value adalah memori yang aman dan efisien
  • Nilai argumen yang diteruskan ke fungsi tidak akan berubah

Kesimpulan

Kami telah melihat bagaimana fitur ini bekerja di JavaScript dengan mempertimbangkan tipe data Primitif dan Kompleks. Diilustrasikan dengan beberapa contoh yang akan membantu Anda untuk mengeksplorasi lebih jauh dan juga melihat keuntungan dari Pass by Value. Penjelasan singkat tentang contoh-contoh akan memberi Anda pengetahuan yang baik tentang cara melewati Nilai digunakan. Anda bahkan dapat menjelajahi Pass by Reference dalam JavaScript yang untuk tipe data kompleks

Artikel yang Direkomendasikan

Ini adalah panduan untuk JavaScript Pass By Value. Di sini kita membahas pengantar JavaScript Pass By Value dengan contoh pemrograman. Anda juga dapat membaca artikel terkait lainnya untuk mempelajari lebih lanjut –

Apakah JavaScript lulus dengan referensi atau dengan nilai?

JavaScript selalu pass-by-value . Ini berarti semua yang ada di JavaScript adalah tipe nilai dan argumen fungsi selalu diteruskan oleh nilai.

Apakah variabel diteruskan oleh nilai dalam JavaScript?

Javascript selalu melewati nilai jadi mengubah nilai variabel tidak pernah mengubah primitif yang mendasarinya (String atau angka). Dalam contoh berikut, variabel 'a' diberi nilai 1.

Bagaimana Anda menggunakan nilai lewat?

Bila Anda menggunakan pass-by-value, kompiler menyalin nilai argumen dalam fungsi pemanggilan ke parameter non-penunjuk atau non-referensi terkait dalam fungsi yang dipanggil . Parameter dalam fungsi yang dipanggil diinisialisasi dengan nilai argumen yang diteruskan. . The parameter in the called function is initialized with the value of the passed argument.