ECMAScript별 업데이트에 대해
ES7~ES9 까지 업데이트 되어있지만 현재는 ES6를 배우고 있다. 제일 안정적이라서! 하지만 꾸준히 배워야 한다.
막간의 실무 팁
//1. 배열 생성할 때 자주 쓰는 것
let s = 'abcde';
s.repeat(2); //'abcdeabcde'
//Array.from 사용하여
Array.from('a'.repeat(10));
//(10) ['a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a'] 위와 같이 사용함
Array(10).fill(1000)
//배열에 10개 공간 만들건데 1000으로 채워줄거다
//1부터 100까지 넣겠다
Array(100).fill(0).map((value, index) => value + index);
Array(100).fill(0).map((value, index, arr) => arr)
//제곱 된 값 100개 넣기
Array(100).fill(0).map((value, index) => (value + index)**2 );
//split 활용한 배열 만들기 (좋은 코드는 아님)
'.'.repeat(9).split('.')
let s = 'student jiyun.park';
s.split('.');
//['student jiyun', 'park'] .을 기준으로 잘라냄
s.split('');
//['s', 't', 'u', 'd', 'e', 'n', 't', ' ', 'j', 'i', 'y', 'u', 'n', '.', 'p', 'a', 'r', 'k']
'12345'.split(''); // array가 됨
[...'12345'.split('')].forEach(x => x);
//다 더하는 거 (매서드 체이닝...)
let sum = 0;
'12345'.split('').map(value => parseInt(value)).forEach(value => sum += value);
//
엄격모드
참조범위
//html 내의 <script src = "a.js">에서 사용된 변수는 <script src = "b.js">에서도 사용이 가능하다
this : 자신을 호출한 객체, 자신이 생성할 객체
모든 함수는 생성될때마다 this라는 객체가 추가된다. this는 함수가 소유하고 있는 객체를 참조하게 된다.
function sayHi(){
console.log(`Hi, my name is ${this.name}`);
}
let student = {
name : 'june',
age : '10',
sayHi : sayHi
}
let employee = {
name : 'charles',
age : '20',
sayHi : sayHi
}
student.sayHi();
employee.sayHi();
//.call() 메서드를 사용하면 인수에 this 로 사용할 값을 전달할 수 있다.
student.sayHi().call(employee);
//.apply() 메서드의 인수에 this로 사용할 값을 전달할 수 있다.
var apple = {
name : 'washington',
sayName : function(a, b){
console.log(this.name+ ' is '+ a + ' and ' + b);
}
}
var banana = {
name : 'monkey',
}
apple.sayName.apply(banana, ['sweet', 'small']);
클로저 :견고한 코드를 작성하기 위해 사용, 메모리 효율을 위해
function 제곱(x) {
function 승수(y) {
return y ** x
}
return 승수
}
var 제곱2 = 제곱(2);
var 제곱3 = 제곱(3);
제곱2(10)
제곱3(10)
//예제 외우기
JSON
JSON은 텍스트로 표현된 정보의 덩어리이다. 아래와 같은 형태를 하고 있다.
{
"school": "sunway",
"students": [
{
"name": "june",
"age": 13,
"gender": "female"
},
{
"name": "charles",
"age": 11,
"gender": "male"
}
]
}
JSON 문자열을 객체로 변환하는 방법은?
let a = [1, 3, 5, 7];
let roster = JSON.parse(JSON.stringify(a));
roster[0] = 1000;
console.log(roster);
//[1000, 3, 5, 7]
배열 정렬 방법
//배열 정렬 방법 (오름차순)
let data = [20, 10, 1, 2, 4, 5];
data.sort(function(a,b){
if (a > b) {
return 1;
}
if (a < b) {
return -1;
}
return 0;
});
//화살표를 바꾸면 내림차순도 가능
한꺼번에 나가니 벅차지만... 복습 또 복습!!