728x90
반응형
// 1. Use strict
// added in ES5
// use this for vanila javascript
'use strict'
// 2. Variable
// let (added in ES6)
let global = 'global'
{
let name = 'aaa';
name = 'hello';
console.log(global);
}
console.log(name);
console.log(global);
// block scope
// global scope - 항상메모리에 탑재, 필요한 부분만 쓰는게 좋음
// var hoisting (어디에 선언했냐에 상관없이 항상 선언을 제일 위로 끌어올려주는 것)
// var has no block scope
{
age = 4;
var age;
}
console.log(age);
console.log(infinity);
// 3. Contants
//favor immutable data type always for a few reasons(한 번 할당하면 값이 절대 바뀌지 않음):
// - security
// - thread safety
// - reduce human mistakes
const daysInWeek = 7;
const maxNumber = 5;
// 4. Valueble types
// primitive, single item: number, string, boolean, null, undefined, symbol
// object, box container
// function, first-class function (함수도 다른 데이터 타입처럼 할당이 가능, 인자로도 전달, 리턴값으로 함수 리턴가능)
// number - special numeric values: infiniti, -infinity, NaN
const infinity = 1 / 0;
const negativeInfinity = -1 / 0
const nan = 'not a nubmer' / 2;
console.log(infinity);
console.log(negativeInfinity);
console.log(nan);
// bigInt (fairly new, don't us it yet)
const bigInt = 1111111111111111n;
// string
// boolean
// false: 0, null, undefined, NaN, ''
// true: any other value
// null
let nothing = null; (명확하게 텅텅비어있는 값이라고 지정, null로 값이 할당)
// undefined
let x; (선언은 되었지만 값이 정해지지 않음, 할당X)
let x = undefined;
// symbol (맵이나 자료구조에서 고유한 식별자가 필요하거나 동시다발적으로 우선순위로 주고싶을때 고유 식별자 주고싶을때)
const symbol1 = Symbol('id');
const symbol2 = Symbol('id');
console.log(symbol1 === symbol2) false (동일한 string사용했어도 상관없이 다른 symbol로 만들어짐, 고유 식별자 만들기 가능)
const symbol1 = Symbol.for('id');
const symbol2 = Symbol.for('id');
console.log(symbol1 === symbol2) true (이 문자에 맞는 똑같은 symbol을 만들어줘)
console.log(symbol1.description) (출력하려면 description 붙여야 한다.)
// object
// 5. Dynamic typing: dynamically typed language (선언할때 타입을 선언하지 않고 프로그래밍이 동작할때 할당된 값에따라 타입 변경 가능)
charAt
https://www.youtube.com/watch?v=OCCpGh4ujb8&list=PLv2d7VI9OotTVOL4QmPfvJWPJvkmv6h-2&index=4&t=379s
728x90
반응형
'typescript' 카테고리의 다른 글
자바스크립트 8. 배열 제대로 알고 쓰자. 자바스크립트 배열 개념과 APIs 총정리 (0) | 2020.06.22 |
---|---|
Typescript - class (0) | 2020.06.19 |
자바스크립트 7. 오브젝트 넌 뭐니? | 프론트엔드 개발자 입문편 (JavaScript ES6) (0) | 2020.06.17 |
자바스크립트 6. 클래스와 오브젝트의 차이점(class vs object), 객체지향 언어 클래스 정리 (0) | 2020.06.16 |
자바스크립트로 공백제거(replace, trim) (0) | 2020.06.15 |
댓글