{"version":1,"pages":[{"id":"-MMMiEqFBqya9aeCuX_y","title":"หน้าแรก","pathname":"/","siteSpaceId":"sitesp_HlIrv","description":""},{"id":"-MMat0bpOK4XWt39LLQb","title":"TypeScript 101","pathname":"/courses/typescript-101","siteSpaceId":"sitesp_HlIrv","description":"คอร์ส TypeScript สำหรับผู้เริ่มต้น","breadcrumbs":[{"label":"คอร์ส"}]},{"id":"-MM_VD30YbKN7nZlaGWw","title":"TypeScript คืออะไร?","pathname":"/courses/typescript-101/what-is-typescript","siteSpaceId":"sitesp_HlIrv","description":"แล้วทำไมต้อง TypeScript","breadcrumbs":[{"label":"คอร์ส"},{"label":"TypeScript 101"}]},{"id":"-MMuwW5v5iiJRCBijOm8","title":"TypeScript vs JavaScript","pathname":"/courses/typescript-101/typescript-vs-javascript","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"TypeScript 101"}]},{"id":"-MMg6wS75OoOfFAKFcnL","title":"ติดตั้ง TypeScript","pathname":"/courses/typescript-101/typescript-installation","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"TypeScript 101"}]},{"id":"-MMk0VK2HihXfEBnlKri","title":"รู้จัก Basic Type ต่างๆ","pathname":"/courses/typescript-101/basic-types","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"TypeScript 101"}]},{"id":"-MMojHTN_AVT4rSPz0Bg","title":"การกำหนด Type ในฟังก์ชั่น","pathname":"/courses/typescript-101/types-in-functions","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"TypeScript 101"}]},{"id":"-MMu8WmOsKMEgodVrxeJ","title":"การสร้าง Interface","pathname":"/courses/typescript-101/create-interfaces","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"TypeScript 101"}]},{"id":"-MN41O_kLhAFi2YgeNB2","title":"Literal Types","pathname":"/courses/typescript-101/literal-types","siteSpaceId":"sitesp_HlIrv","description":"ไม่รู้จะแปลไทยยังไงดี...","breadcrumbs":[{"label":"คอร์ส"},{"label":"TypeScript 101"}]},{"id":"-MN4CqjZZWqNROIY9fl_","title":"Type vs Interface","pathname":"/courses/typescript-101/type-vs-interface","siteSpaceId":"sitesp_HlIrv","description":"Type กับ Interface ต่างกันอย่างไร เมื่อไหร่ควรใช้ตัวไหน?","breadcrumbs":[{"label":"คอร์ส"},{"label":"TypeScript 101"}]},{"id":"-MNEKcdoP1ZHYkU-ID1D","title":"Union Types และ Intersection Types","pathname":"/courses/typescript-101/union-and-intersection-types","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"TypeScript 101"}]},{"id":"-MNO4newWTq9B2U5fpp3","title":"Generics ขั้นพื้นฐาน","pathname":"/courses/typescript-101/basic-generics","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"TypeScript 101"}]},{"id":"-MNYj6HpxrD7x7iV0DeF","title":"Optional Properties","pathname":"/courses/typescript-101/optional-properties","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"TypeScript 101"}]},{"id":"-MNdAQGdDXT39vc9EE-i","title":"Class (1)","pathname":"/courses/typescript-101/class-1","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"TypeScript 101"}]},{"id":"-MNnCC4mgl68sUMrW7fK","title":"Class (2)","pathname":"/courses/typescript-101/class-2","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"TypeScript 101"}]},{"id":"-MOCEBGYkidW_KDgIR3q","title":"ลองเขียนเว็บง่าย ๆ ด้วย TypeScript","pathname":"/courses/typescript-101/create-simple-web-with-typescript","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"TypeScript 101"}]},{"id":"-MOvjvnvM-N6opINEDTj","title":"Utility Types","pathname":"/courses/typescript-101/utility-types","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"TypeScript 101"}]},{"id":"-MOzjmWz5ZXSs-MydR-T","title":"Ruby ฉบับคนหัดโค้ด","pathname":"/courses/ruby","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"}]},{"id":"-MP-wp5FBIMSWlDxCWsK","title":"บทนำ","pathname":"/courses/ruby/introduction","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"Ruby ฉบับคนหัดโค้ด"}]},{"id":"-MP-wdmThtlSLmgJLmi7","title":"ทำไมต้อง Ruby?","pathname":"/courses/ruby/why-ruby","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"Ruby ฉบับคนหัดโค้ด"}]},{"id":"-MPe4WQih5aNI_EnJ7Zy","title":"ลองเล่น Ruby","pathname":"/courses/ruby/try-ruby","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"Ruby ฉบับคนหัดโค้ด"}]},{"id":"-MQwLxNrxQNpL1LbRbEV","title":"เตรียมพร้อมเรียน Ruby","pathname":"/courses/ruby/prepare-to-learn","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"Ruby ฉบับคนหัดโค้ด"}]},{"id":"-MR048ceWXtkx_dpBxXe","title":"ตัวเลข และชุดอักขระ","pathname":"/courses/ruby/numbers-and-string","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"Ruby ฉบับคนหัดโค้ด"}]},{"id":"-MRVbMyVo8oFg24YByVt","title":"เมธอด","pathname":"/courses/ruby/methods","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"Ruby ฉบับคนหัดโค้ด"}]},{"id":"-MRVfhcJmLcdie1Plz-E","title":"ตัวแปร","pathname":"/courses/ruby/variables","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"Ruby ฉบับคนหัดโค้ด"}]},{"id":"-MRydf3eGJ_bYZHmFKgh","title":"ตัวแปร (เฉลยแบบฝึกหัด)","pathname":"/courses/ruby/variables-practice-solutions","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"Ruby ฉบับคนหัดโค้ด"}]},{"id":"-MTVlri-W-ENHl2x-fr9","title":"ประเภทข้อมูลต่างๆ","pathname":"/courses/ruby/data-types","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"Ruby ฉบับคนหัดโค้ด"}]},{"id":"-MUOAu4jwE5bOUYoix7x","title":"Boolean","pathname":"/courses/ruby/boolean","siteSpaceId":"sitesp_HlIrv","description":"","breadcrumbs":[{"label":"คอร์ส"},{"label":"Ruby ฉบับคนหัดโค้ด"}]}]}