본문 바로가기

Language

(13)
forEach와 for...in, for ...of forEach는 callback 함수를 이용해 배열 안의 모든 요소에 접근할 때 사용한다. for...in은 key를 사용해 오브젝트 안의 멤버에 접근할 때 사용한다. key는 멤버의 key에 대한 임시 변수이므로 dot notaion으로 멤버에 접근할 수 없다. dot notaiton은 key 이름으로 직접 object member를 참조하기 때문이다. for ...of는 iterable object(배열)의 원소에 key 없이 직접 접근할 때 사용된다. for...in에서 num은 배열의 index를 나타내므로 sum에 string 덧셈이 발생해 00123을 출력한다. 반면 forEach와 for...in은 배열의 원소에 직접 접근하므로 예상한 답 10이 출력된다. for ...in은 key로 obj..
isNaN과 Number.isNaN NaN끼리는 비교 연산이 불가능하다. isNaN 함수로 매개변수가 NaN인지 확인할 수 있다. Number.isNaN은 매개변수가 NaN값일 때 true를 반환한다. 즉, 매개변수가 string 등 NaN형일 때 작동하지 않고 false를 반환한다. 하지만 isNaN은 숫자로 변환했을 때 NaN이되는 값(NaN형)을 매개변수로 받았을 때도 true를 반환한다.
String과 toString toString 함수는 원시 데이터 타입(number, string, boolean, null, undefined 등)에만 사용이 가능하다. 반면 String은 배열, 함수등 객체에 대해서도 사용이 가능하다.
Number와 parseInt const a = "123abc" 문자열에서 숫자가 포함되었을 때 parseInt로 숫자만 정수형으로 변환할 수 있다. 숫자가 문자열 가장 앞에 있을 때만 가능하다.
string::find size_type find(const basic_string& str, size_type pos = 0) const; 문자열에서 str을 찾아 시작 위치를 반환한다. str를 찾지 못했을 경우 str::npos를 반환한다. npos는 size_t type이며 unsigned int의 최댓값이다 (4294967295, 2^32-1). 이것을 int로 변환하면 -1이 된다. 다음과 같이 활용할 수 있다. #include using namespace std; int N; int main() { cin >> N; int cnt = 0; int ans = 0; while (1) { ans++; string str = to_string(ans); if (str.find("666") != -1) { cnt++; if..