youdontknowjs 9

[Javascript] You Don't Know JS (강제변환)

You Don't Know JS, Chapter 4. 강제변환 4.1 값 변환 값을 바꾸는 과정이 명시적이면 타입 캐스팅(Type Casting), 암시적이면 강제변환(Coercion)이라고 한다. 본 책에서는 암시적 강제변환(Explicit Coercion)과 명시적 강제변환(Implicit Coercion) 두 가지로 구분한다. var a = 42; var b = a + ""; // 암시적 강제변환 var c = String( a ); // 명시적 강제변환 두 방법 모두 42를 '42'로 바꾸는데, 핵심은 어떻게 변환할 것인가 하는 문제이다. 4.2 추상연산 값이 어떻게 문자열, 숫자, 불리언 등의 타입으로 변환되는지 알아보자. 4.2.1 ToString 문자열이 아닌 값 -> 문자열의 변환 작업은 ..

[Javascript] You Don't Know JS (Native)

YOU DON'T KNOW JS : Chapter3. Native 주로 쓰는 네이티브(내장함수)들은 아래와 같다. String() Number() Boolean() Array() Object() Function() RegExp() Date() Error Symbol() 자바의 String() 생성자와 비슷하며 다음 코드처럼 사용할 수 있다. var s = new String( "Hello World!" ); console.log( s.toString() ); // "Hello World!" 생성자처럼 사용할 수 있지만 실제로 생성되는 결과는 다르다. var a = new String( "abc" ); typeof a; // "object" ... not "String" a instanceof String..

[Javascript] You Don't Know JS (Values-2)

YOU DON'T KNOW JS : Chapter2. Values Special Values JS 개발자가 조심해서 사용해야 하는 여러 특수 값이 있다. The Non-value Values undefined 타입의 값은 undefined 하나밖에 없다. null 타입도 null 뿐이다. 몇몇 개발자들은 아래와 같이 구분한다. null is an empty value (null은 빈 값) undefined is a missing value (undefined는 값이 입력되지 않은 값) 또는 undefined hasn't had a value yer (undefined는 값을 가진적이 없는 값) null had a value and doesn't anymore (null은 값을 가지고 있었지만 이젠 없는 ..

[Javascript] You Don't Know JS (Types)

YOU DON'T KNOW JS : Chapter1. Types 자바스크립트 스터디를 진행, 번역이라 좀 어색할 수 있음 (원본 : https://github.com/getify/You-Dont-Know-JS) Built-in Types 자바스크립트에서는 7가지 내장형 타입이 존재한다. null undefined boolean number string object symbol (ES6에서 추가, Chapter3에서 다룰 예정) object를 제외하고 모두 원시타입(primitives)로 불림 typeof 연산자는 주어진 값의 타입을 검사하고 7개의 type중 하나를 항상 반환하지만 1:1로 정확하게 매칭되지 않는다. null을 제외한 아래 6개는 정확하게 매칭된다. typeof undefined === ..