JSFiddle - React, Tailwind, and code Playground

JavaScript

function test(str, obj1, obj2, arr1, arr2) {
    str = "Str was passed by reference!";
    
    obj1.val = "Obj1 was passed by reference!";
    obj2 = {val: "Obj2 was passed by reference!"};
    
    arr1[0] = 'r';
    arr1[1] = 'e';
    arr1[2] = 'f';
    
    arr2 = "arr2 was passed by reference!".split('');
}

var str = "Str was passed by value!";
var obj1 = {val: "obj1 was passed by value!"};
var obj2 = {val: "obj2 was passed by value!"}

var arr1 = ['val'];
var arr2 = "arr2 was passed by value!".split('');

test(str, obj1, obj2, arr1, arr2);
console.log(str);
console.log(obj1);
console.log(obj2);
console.log('arr1 was passed by ' + arr1.join(''));
console.log(arr2.join(''));