본문 바로가기

javascript28

JS33 - 04.암묵적 형변환(Implicit coercion) 예시 3 * "3" //9 1 + "2" + 1 //121 true + true //2 10 - true //9 const foo = { valueOf: () => 2 } 3 + foo // 5 4 * foo // 8 const bar = { toString: () => " promise is a boy :)" } 1 + bar // "1 promise is a boy :)" 4 * [] // 0 4 * [2] // 8 4 + [2] // "42" 4 + [1, 2] // "41,2" 4 * [1, 2] // NaN "string" ? 4 : 1 // 4 undefined ? 4 : 1 // 1​ 1. 형 변환 (Type coercion) 명시적 Explicit 개발자에 의해 의도적으로 값의 타입을 변환.. 2021. 5. 31.
JS33 - 03.값과 참조(Value and Reference) 자바스크립트는 메모리에 있는 데이터 구조의 전체 접근 권한을 주지 않는다. 대신 언어 차원의 reference type을 제공한다. 모든 변수가 생성된 후에 고정된 양의 메모리가 할당됩니다. 변수가 복사 될 때 ,메모리 내의 값이 복사됩니다. Primitives Type 원시타입 : Value 전달(Pass-by-value(복사)) == 스칼라 or 단순한 타입 Boolean null undefined String Number 변수 할당 시 값을 복사함, 서로 영향을 주지 않음 고정된 양의 메모리에 저장 Strings 은 자바스크립트에서 특별한 존재이다. 다른 많은 언어와 달리 string은 character의 배열처럼 정의 되지 않는다. 무엇보다 character 타입이 자바스크립트에는 존재하지 않는다.. 2021. 5. 31.
JS33 - 02.원시타입(Primitive Types) 니꼴라스 강의 요약 https://www.youtube.com/watch?v=IMyvCJKZSL8 String Numbers: ECMAScript has two built-in numeric types: Number and BigInt Integers floats Boolean Boolean represents a logical entity and can have two values: true and false. See Boolean and Boolean for more details. True False Null: '존재하지 않음' The Null type has exactly one value: null. 아예 정의되지 않은 변수와는 다르다. Null은 의도적으로 존재하지 않다고 정의된 것. Unde.. 2021. 5. 31.
[JS] require와 import의 차이 (commonjs와 es6의 차이) 3줄 요약 둘 다 모듈 키워드, 외부 파일이나 라이브러리를 불러올 때 사용한다. require는 NodeJS에서 사용되는 CommonJS 키워드, import는 ES2015에서 새로 도입된 키워드 Babel같은 ES6 코드 변환 도구를 사용할 수 없다면 require 키워드를 사용해야 한다. 최근 ES6(ES2015) 모듈 시스템인 import가 많이 사용되고 있지만, 아직까지는 import 키워드가 100% 대체되어 사용될 수 없습니다. 태그를 사용하는 브라우저 환경과, NodeJS에서도 CommonJS를 기본 모듈 시스템으로 채택하고 있기 때문에, Babel과 같은 ES6 코드를 변환(transpile)해주는 도구를 사용할 수 없는 경우에는 require 키워드를 사용해야 합니다. - https://.. 2021. 5. 29.