개발 35

[You don't know JS] Part1 - 4장. 강제변환

Ch4. 강제변환 4.1 값 변환 타입 케스팅 값이 다른 타입의 값으로 바뀔 때 명시적이면 타입 케스팅 코드에서 의도적으로 타입을 변화시킨 것 강제 변환 값이 다른 타입의 값으로 바뀔 때 암시적이면 강제 현 환 다른 작업 도중 불분명한 사이드 이펙트로 생긴것 var a = 42; var b = a + ""; // 암시적 var c = String(a); // 명시적 위 코드로 암시적과 명시적은 어느정도 이해가 되었을 것이고, 문제는 어떻게 동작하느냐 인데, 다음을 보자 동작에 대한 내용은 안나오는듯...? 모지;; 찾아야되나 Javascript에선 강제변환을 하면 Number, String, Boolean 같은 원시값중 하나가 되며, 함수나 객체는 변환될 일이 없다. 박싱은 원시값을 해당 객체로 감싼건데..

개발/Javascript 2020.09.06

[You don't know JS] Part1 - 3장. 네이티브

Ch3. 네이티브 일반적으로 아래와 같은 내장함수를 네이티브라 한다. String() Number() Boolean() Array() Object() Function() RegExp() Date() Error() Symbol() 내장함수 == 네이티브 이다. 네이티브란 특정 환경(브라우저, 클라이언트 등의 환경)에 종속되지 않은 ECMAScript에 명시된 내장함수를 의미함. window나 Button같은것은 네이티브가 아님. 내장함수로 실행해서 얻은 결과물은 object타입이다. var a = new String("test"); typeof a; 실행 결과 object내부에서 각 index 별로 한글자씩 들어간것을 확인할 수 있다. 단, __proto__는 String 인걸 볼 수 있다. __proto..

개발/Javascript 2020.09.06

[You don't know JS] Part1 - 2장. 값

Ch2. 값 2.1 배열 하나의 배열에 여러 타입의 값을 담을 수 있다. 배열에 delete 연산자...?! 배열을 변태같이 사용하는 방법 case 1: 구멍난 배열 var a = []; a[0] = 1; a[2] = [3]; a[1]; // undefined a.length; // 3 중간 index를 생략하면 length는 건너뛰고 중간은 undefined가 된다. case 2: 문자열 index var a = []; a[0] = 1; a["footbar"] = 2; a.length; // 1 a.["footbar"]; // 2 a.footbar; // 2 case 3: string 타입 숫자 index var a = []; a["13"] = 42; a.length; // 14 크롬 기준으로 empt..

개발/Javascript 2020.09.06

[You don't know JS] Part1 - 1장. 타입

Ch1. 타입 타입이란 자바스크립트 엔진, 개발자 모두에게 어떤 값을 다른 값과 분별할 수 있는, 고유한 내부 특성의 집합이다. 즉, 기계와 사람이 24와 "24" 를 다르게 처리한다면 두 값의 타입은 서로 다르다. 1.1 타입, 그 실체를 이해하자 타입이 명확하지 않다. 어떤 타입으로든 형 변환이 일어난다. 따라서 그 실체를 잘 이해해야 어떻게 변하게 될지 예측이 가능해진다. 1.2 내장 타입 자바스크립트에는 7개의 내장 타입이 존재한다. null undefined number boolean string object symbol object를 제외한 나머지를 원시 타입 이라고 한다. typeof 연산자를 사용하여 각 변수의 타입을 확인할 수 있다. 하지만 정확히 1:1로 매칭되지 않는다. typeof ..

개발/Javascript 2020.08.23

[You don't know JS] 스터디 시작

좀 시간이 흘렀지만 정리도 할겸 블로그에 조금 정리하려고 한다. Javascript를 사용한지 4년 조금 넘어가는데, 매년 Javascript 책을 볼때마다 새로운 내용이 나왔고, 정확히 알지 못하지만 습관적으로 사용하고 있던 개념들이 있었다. 커뮤니티에서 Javascript 스터디를 구한다는 글을 보고 지원했고 매주 두챕터씩 정리하고 발표를 하기로 했다. 확실히 혼자 하는것보단 속도는 느리지만 꾸준히 할 수 있다는게 좋은것같다. 내가 놓친 내용을 듣기도 하고, 이해되지 않은 부분들도 질문하며 각자의 생각과 실무 적용 사례도 공유하면서 진행하고 있다. 이번기회에 잘 정리해보고 매년 살펴보며 정리할 계획이다. 책은 You don't know JS 를 선택했고, 번역본은 1권과 2권으로 나와있다. 사용 사례..

개발/Javascript 2020.08.23