[JS] array, object, loop, while
강의 출처 : The Complete Javavscript - Jonas(Udemy)
Section 3 - JavaScript Fundamentals 2
Function
Function expression
const calcAge2 = function(birthYear){
return 2037 - birthYear;
}
Function declaration
function calcAge2(birthYear){
return 2037 - birthYear;
}
Arrow function
변수에 할당된다는 점 기억할 것!
const calcAge = birthYear => 2037 - birthYeah;
Array
Array 자체가 const로 정의되었어도 안의 item을 수정할 수 있다. mutable datatype.
하지만 array 자체가 바뀔 수는 없음!
const years = new Array(1991, 1984, 2008, 2020);
const friends = ['Michael', 'Steven', 'Peter'];
friends[2] = 'Jay';
friends = ['Bob','Alice']// 허용되지 않음. !!
Object
Method
Object 내의 함수 (const, let 등을 붙히지 않고 변수에 함수를 할당한다.
Method는 function expression을 이용한다. no declaration.
const jonas = {
firstName :'Jonas',
lastName : 'Scemedtmann',
birthYear : 1991,
age : 2037 -1991,
job : 'teacher',
friends : ['Michael', 'Peter', 'Steven'],
hasDriversLicense : true,
calcAge : function(birthYear){
return 2037 - birthYear
}
this
object 내에서 object를 언급할 때는 this를 사용할 수 있다.
calcAge : function(){
return 2037 - this.birthYear;}
Array도 사실은 object이다.ex) array.push()
push()는 array라는 객체 안에 있는 method
dot notation vs bracket notation
객체의 item에 접근하기 위한 방법 두가지 - dot notation, bracket notation
dot notation으로는 computed property(final property)를 적어야만 value 값을 얻을 수 있다.
bracket notation은 어떠한 정보로든 value 값 얻을 수 있다.
const jonass = {
firstName :'Jonas',
lastName : 'Scemedtmann',
birthYear : 1991,
age : 2037 -1991,}
const interestedIn = prompt('What do you want to know about Jonas? Choose between firstName, lastName, birthYear, and age');
if(jonass[interestedIn]){
console.log(jonass[interestedIn]);
}else {
console.log('Wrong request!')
}
promt 창에 사용자가 직접 firstName, lastName, burthYear, age 중 하나를 입력하면 그에 맞는 value 값을 얻을 수 있다.
이때 만약 jonass.interestedIn 으로 적는다면 computed property 가 아니기 때문에 value값을 얻을 수 없다.
console.log(jonass.calcAge(`1991`));
console.log(jonass['calcAge']('1991'));
bracket notation을 쓸때는 꼭 ''를 붙혀주는 것 잊지 말기!
- method 함수를 만들때 return에 계산 식을 직접 넣는 것보다 변수에 할당한 후 변수를 return 하는 방식이 더 좋다. 계산을 여러번 할 필요가 없으므로!
calcAge : function(){
this.age = 2037 - this.birthYear;
return this.age;
}
loop
continue and break
continue : 해당 조건에 해당하는 것들은 skip하고 반복문을 이어간다.
break : 해당 조건에 해당하면, 반복문을 종료한다.
for (let i = 0; i <jonas.length; i++){
if(typeof jonas[i] !== 'string'){
continue;
}
console.log(jonas[i], typeof jonas[i]);
}
//string type만 출력된다. string이 아닌 것들은 skip함.
for (let i = 0; i <jonas.length; i++){
if(typeof jonas[i] === 'number'){
break;
}
console.log(jonas[i], typeof jonas[i]);
}
//number 앞에서 멈춤.
while loop
let dice = Math.trunc(Math.random() * 6) + 1;
while(dice !==6){
console.log(`You rolled a ${dice}`);
dice = Math.trunc(Math.random() * 6) + 1; // 변수 안지정해주면 계속 while 반복됌
if(dice ===6){
console.log('Loop is about to end...')
}
}
얼마나 반복해야할지 알때는 for loop , 잘 모르겠을 때는 while 이 좋다!
for loop를 포함하는 함수를 이용할 때는 for 밖에서 값을 return 해주자
function calcAverage(arr){
let sum = 0;
for(let i= 0; i <arr.length; i++){
// sum = sum + arr[i];
sum += arr[i];
}
return sum/arr.length;
}
Author And Source
이 문제에 관하여([JS] array, object, loop, while), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hoje15v/Today-I-Learned-array-object-loop-while저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)