Παράμετροι-Αντικείμενα JavaScript
Τα αντικείμενα, σε αντίθεση με τα πρωτόγονα, περνιούνται με αναφορά. Αυτό σημαίνει ότι η αλλαγή ενός αντικειμένου μέσα σε μια συνάρτηση θα οδηγήσει στο να αλλάξει και έξω από τη συνάρτηση. Δείτε το παράδειγμα:
function func(arr) {
arr[0] = '!';
}
let arr = [1, 2, 3];
func(arr);
console.log(arr); // θα εμφανίσει ['!', 2, 3]
Προσδιορίστε, χωρίς να εκτελέσετε τον κώδικα, τι θα εμφανιστεί στην κονσόλα:
function func(obj) {
obj.a = '!';
}
let obj = {a: 1, b: 2, c: 3};
func(obj);
console.log(obj);
Προσδιορίστε, χωρίς να εκτελέσετε τον κώδικα, τι θα εμφανιστεί στην κονσόλα:
function func(arg) {
arg = '!';
}
let obj = {a: 1, b: 2, c: 3};
func(obj.a);
console.log(obj);
Προσδιορίστε, χωρίς να εκτελέσετε τον κώδικα, τι θα εμφανιστεί στην κονσόλα:
function func(obj) {
obj = '!';
}
let obj = {a: 1, b: 2, c: 3};
func(obj.a);
console.log(obj);
Προσδιορίστε, χωρίς να εκτελέσετε τον κώδικα, τι θα εμφανιστεί στην κονσόλα:
function func(arr) {
arr.splice(1, 1);
}
let arr = [1, 2, 3];
func(arr);
console.log(arr);
Προσδιορίστε, χωρίς να εκτελέσετε τον κώδικα, τι θα εμφανιστεί στην κονσόλα:
function func(arr) {
arr.slice(1, 1);
}
let arr = [1, 2, 3];
func(arr);
console.log(arr);
Προσδιορίστε, χωρίς να εκτελέσετε τον κώδικα, τι θα εμφανιστεί στην κονσόλα:
function func(arr) {
let newArr = arr;
newArr[0] = '!';
}
let arr = [1, 2, 3];
func(arr);
console.log(arr);