function CreateStringIterator(string) {
  CHECK_OBJECT_COERCIBLE(string, 'String.prototype[Symbol.iterator]');
  var s = TO_STRING(string);
  var iterator = new StringIterator;
  SET_PRIVATE(iterator, stringIteratorIteratedStringSymbol, s);
  SET_PRIVATE(iterator, stringIteratorNextIndexSymbol, 0);
  return iterator;
}
function CreateStringIterator(string) {
  CHECK_OBJECT_COERCIBLE(string, 'String.prototype[Symbol.iterator]');
  var s = TO_STRING(string);
  var iterator = new StringIterator;
  SET_PRIVATE(iterator, stringIteratorIteratedStringSymbol, s);
  SET_PRIVATE(iterator, stringIteratorNextIndexSymbol, 0);
  return iterator;
}
function CreateStringIterator ( string ) { CHECK_OBJECT_COERCIBLE ( string , 'String.prototype[Symbol.iterator]' ) ; var s = TO_STRING ( string ) ; var iterator = new StringIterator ; SET_PRIVATE ( iterator , stringIteratorIteratedStringSymbol , s ) ; SET_PRIVATE ( iterator , stringIteratorNextIndexSymbol , 0 ) ; return iterator ; }
21.1.5.1 CreateStringIterator Abstract Operation
21 . 1 . 5 . 1 CreateStringIterator Abstract Operation