본문 바로가기

전체 글30

[JavaScript] Wrapper Object 모던 자바스크립트 Deep Dive 21장을 읽으며 정리한다. 문자열이나 숫자, 불리언 등의 원시값이 있는데도 불구하고, String, Number 등의 표준 빌트인 생성자 함수가 존재하는 이유는? 궁금했던 질문이기에 웅장하게 인용해봤다. 또, 평소 아무렇지 않게 사용했던 문자열 관련 property와 method... 생각해보면 객체처럼 동작하고 있지 않은가? 원시값은 객체가 아닌데? const str = 'Fruit'; console.log(str.length); // property처럼 생겼다!? console.log(str.toUpperCase()); //FRUIT, method처럼 생겼다?! 되돌아보니까 정말 object처럼 쓰고 있었다! 왜 이게 되는 걸까? → 원시 값을 객체처럼 사용하면, .. 2022. 2. 23.
[Flutter] 기본 제공 코드 뜯어보기 매번 봐도 도저히 기억이 안나서... 메모해두려고 한다. ** import 꼭 하기 !! void main() { runApp(const MyApp()); } 컴파일러에게 시작을 알리기 위한 main() 함수 플러터 최상위 함수 runApp( ) MyApp라는 커스텀 위젯을 넣어준다. class MyApp extends StatelessWidget { //key-value 형식의 생성자를 만든다. const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.b.. 2022. 2. 21.
[JavaScript] Prototype Chain/직접 상속 모던 자바스크립트 Deep dive 19장. 나중에 읽어볼 기회가 있다면 꼭 그림을 같이 보며 확인하자. 프로토타입 체인 자바스크립트는 객체의 property/method에 접근하려고 할 때 해당 객체에 접근하려는 property가 있는지 체크한다. 만약 없다면, [[ prototype ]] 내부 슬롯의 참조를 따라 자신의 부모 역할을 하는 prototype의 property를 순차적으로 검색한다. 이를 prototype chain이라고 한다 → JS가 객체지향 프로그래밍의 상속을 구현하는 매커니즘 end of prototype chain : 프로토타입 체인의 최상위에 위치하는 객체는 언제나 Object.prototype다. 따라서 모든 객체는 Object.prototype를 상속받는다. Object.p.. 2022. 2. 17.
[JavaScript] Prototype(함수 객체, 리터럴 표기법, 프로토타입 객체) 모던 자바스크립트 Deep Dive 19장을 읽으며 정리한다. (~19.4) 내용이 많다. 그리고 자바스크립트의 중요한 내용을 담고 있어 좀 세심하게 읽어보고 있다. 현재 책의 30%을 읽었다. 나머지 70%을 위해서 빠르게 정리해볼 계획이다. 특히 object & event loop & 비동기를 세심하게 살펴볼 예정이다! 자바스크립트는 프로토타입 기반 OOP를 지원한다. C++나 JAVA같은 class 기반 객체지향 프로그래밍과는 다른 부분이 있다. 예를 들면 public, private, protected가 없다. 그래도 자바스크립트는 객체 지향 프로그래밍 언어다! JS를 이루고 있는 거의 모든 게 객체다. 앞에서 봤듯이, primitive type를 제외한 나머지 값들은 다 객체다. OOP가 대체 .. 2022. 2. 16.