Is there an advantage one over the other? In my current project, using the index with the dot is questioned as bad practice, requesting to always use the index() function, my question is, is this really necessary? what are the reasons? I understand that sometimes it is good to control the default value and set a null.
Discussion posts and replies are publicly visible
Yes, it is bad practice. Simple example is, if you don't have value for the field and you use dot, then the index will fail, means it won't handle null propely except in value and saveinto parameters. But index() function will handle nulls and if there is no value for the field it returns null.
Yes It's not best practice If you have fixed value for any local variable you can use that variable with dot but if you are defining local variable for any record or expression then you must use Index() function.
You can use both index() or property() functions. dot notations or the square brackets can be used for at your saveInto. But prefer index() if an array or property to get the properties. But it depends on your use case as well. Bottom line dot notation cannot handle null exceptions well and using property or the index() function will help you set a null exception.
There is one very important difference. index() or property() return a copy of the data while dot-notation or square-bracket-notation return a reference to the original data. Knowing this is crucial for using more complex data structures in saveInto where index()/property() will not work.
Stefan Helzle Thanks for adding a closure note with a very important point.
Stefan Helzle
Thank you for your comment, that point is very important.
I agree with you.
Konduru Chaitanya said:But prefer index() if an array or property to get the properties
my hero