poh-tay-toh poh-tah-toh, does writing the same code a different way affect readability?
I think the first is the simplest and the most readable one from the list but I'd prefer the charAt function:

x.charAt(0) !== '_'


Furthermore, I'd reverse the condition:

if string begins with '_' {
    throw error
}
do stuff


Reference: 


How to get first character of string?
Flattening Arrow Code