startsWith en Node.js: TypeError: undefined no es una función

Recibí un error al utilizar startsWith en Node.js

Script sw.js

//startswith var str = 'Sein oder nicht sein, dass ist hier die Frage'; console.log(str.startsWith('Sein oder')); // true console.log(str.startsWith('nicht sein')); // false console.log(str.startsWith('nicht sein', 10)); // true 

Salida del guión:

 /Users/.../sw.js:2 = 'Sein oder nicht sein, dass ist hier die Frage'; console.log(str.startsWith ^ TypeError: undefined is not a function at Object. (/Users/.../sw.js:2:76) at Module._compile (module.js:460:26) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Function.Module.runMain (module.js:501:10) at startup (node.js:129:16) at node.js:814:3 

Versión del nodo (no estoy seguro si eso es relevante)

 node -v v0.12.8 

La versión de su nodo no admite características ecmascript6, como String.prototype.startsWith() . La última versión de Node es 6.9.2 / 7.3.0 al momento de escribir esto, por lo que debe considerar actualizar el nodo a la última versión, ya que la suya es bastante antigua.

Sin embargo, si eso no es posible para usted, puede usar el polyfill que se encuentra en mdn :

 if (!String.prototype.startsWith) { String.prototype.startsWith = function(searchString, position) { position = position || 0; return this.indexOf(searchString, position) === position; }; } 

startsWith solo está disponible en es6, que no es compatible con la versión de su nodo. Intente actualizar su nodo al nodo v6 (el LTS actual) y debería funcionar.