length는 문자의 숫자를 반환하는 것이다. str이라는 변수의 이름에 Hello wlord!라는 문자열이 되어있다. 이 것의 숫자로 표현 즉 숫자의 길이를 표현 하게 해 주는 것은 length이다.
includes는 주어진 문자열에 포함이 되어있는지를 확인해,
true, false로 구분하게 해 준다.
첫 번째 console.log에 'Hello'라는 값이 있어서, true.
두 번째는 'hi' 는 포함이 되어있지 않기 때문에 false.
세 번째는 !가 있기 때문에 true이다.
그리고 첫 번째 console.log를 보면 , 1이라는 게 지정이 되어있다. 이것은 첫 번째 자리부터 읽어라 그래서 "Hello wolrd!"가 있으면 e부터 읽혀 false가 나오는 것. 0번 째 부터 읽어라 하면 true가 나오는 것이다.
이렇게 부정연산자를 이용해, includes를 불린 하는 것이다.
들어있지 않는 상태에서 if조건에서 걸려야 하니까. 부정연산자를 사용해서 출력 값에 출력을 한 것이다.
indexOf는 첫 번째 인덱스 (숫자를) 읽어드린다.
Hello는 H부터 시작하니, 0번 째 부터 읽히니까 출력값엔 0이라는 숫자가 출력이 된다. 그리고 world는 6번 째 가 w이기 때문에 6이라는 숫자가 출력이 되고,
!는 맨 마지막 11번 째 숫자기 때문에 11이라는 숫자가 출력이 된다.
하지만 문자 데이터가 없는 값을 console.log에 출력을 한다면 -1이라는 숫자가 출력이 된다.
이 것은 지정된 길이보다 작으면, 추가로 붙혀주는 것이다. 첫 번째 console.log를 보면 10, '0'이 지정이 되어있다. 하지만 str에서 지정해준 값은 7이다. 그래서 10까지 인데 3개가 부족하니까, 0으로 채워주는 것이다. 11도 마찬가지이다.
하지만 str이 13개의 숫자가 있으면, console.log엔 10, 0이기 때문에 아무것도 출력이 되지 않고 그냥 str에 있는 값만 잘 출력이 될 것이다.
padEnd랑 비슷한데, padEnd는 뒤에다 채워주었는데,
padStart는 앞에다 채워준다.
이렇게 앞에다 0이 붙는 것을 볼 수 있다. 또, str에서 7이 아닌 13이라는 숫자까지 붙혀 있으면, 첫 번째 console.log는 해당이 되지 않게 된다.
그래서 0도 붙지 않고 그냥 str에 있는 값들만 출력이 된다.