Skip to content
youhoc
  • Pages
    • Home
    • Modern App Guidelines
    • Linux
      • Day 1: Linux Distributions & Navigation
      • Day 2: User Management
      • Day 3: File Permission & Ownership
      • Day 4: Package Management
      • Day 5: Services Management
    • Javascript
      • JS The Weird Part
        • Execution Context
        • Types & Operators
        • Objects & Functions
        • Error Handling & Strict Mode
        • Typescript, ES6, Tra
      • Modern JS
        • JS in the Browser
        • Data Storage JSON
        • Modern JS
        • Advanced Objects & Methods
        • Webpack & Babel
        • Async
      • jQuery
        • In-depth Analysis of jQuery
      • React-ready JS
        • Arrow Function
        • Template Literals
        • Logical AND, OR, Ternary, Nullish Operators
        • Destructuring & Rest Operator
        • Array Method
        • Immutability and Spread Operator
        • Promises, Async/Await, Callback
    • PHP
      • gruntJS
      • composer
      • MySQL
    • Docker
      • Container Basics
      • Container Networking
      • Container Image
      • Container Volume & Persistent Data
      • Dockerfile
      • Docker Compose
      • Docker Registry
    • Node.js
      • 1. Installing & Exploring
      • 2. Core Modules
      • 3. Get User Input
      • File System & Input Arguments
      • 5. Express Web Server
      • 6. Deploy to Heroku & Github
      • Authentication
      • 7. Databases
      • 8. Rest API
    • ReactJS
      • React from Andrew
        • Summary from Next
        • 1. Basics
        • 2. React Components
        • 3. Webpack
        • 4. Styling with SCSS
        • 5. React Router
        • 6. React Hook
      • Modern React From The Beginning
        • Intro to JSX
        • Vite Build Tools
        • Basic Component Creation
        • Component State
        • Props & Component Composition
        • useState with Inputs & Form Submission
        • useEffect, useRef & Local Storage
        • Async / Await and Http Request in React
        • React Router: Declarative Mode
        • ContextAPI
        • React Router: Framework Mode
          • File-routing & HTML Layouts
          • Server-side Data Query
          • Links & Navigation
          • Loaders
    • Typescript
      • Type User vs UserProp
    • Payload CMS

Typescript, ES6, Tra

Transpile: chuyển đổi từ ngôn ngữ này sang ngôn ngữ khác chứ không có runtime
ví dụ như Typescript hay Traceur
convert từ TS qua ES5, ES6

let

biến tạo từ let không nằm trong global scope
biến tạo từ let chỉ nằm trong block scope của chính nó
let myVar = 1;

{
let myVar = 2;
console.log(myVar); // 2

{
for (let myVar = 4; myVar > 3; myVar--) {
console.log(myVar); // 4
}
}
}

console.log(myVar); // 1

const

tạo rồi là không thể thay đổi
mặc dù vậy, có thể đổi giá trị bên trong nó
quay lại bài by reference & by value
const cũng bị giới hạn trong chính block scope của nó
có thuốc global scope window không thì cần check
const myVar = 1;
myVar = 2; // báo lỗi, đổi reference point trong memory

const myVar = { name: 'Tony' };
myVar.name = 'Alex'; // có thể đổi được, vì reference vẫn không đổi

// thường đặt tên const là viết hoa
const MY_VAR = 1;
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.