part1b
Practice Javascript
const x = 1;let y = 5;
console.log(x, y); // 1, 5 are printedy += 10;console.log(x, y); // 1, 15 are printedy = "sometext";console.log(x, y); // 1, sometext are printedx = 4; // causes an error
const t = [1, -1, 3];
t.push(5);
console.log(t.length); // 4 is printedconsole.log(t[1]); // -1 is printed
t.forEach((value) => { console.log(value); // numbers 1, -1, 3, 5 are printed, each to own line});
const t = [1, -1, 3];
const t2 = t.concat(5); // creates new array
console.log(t); // [1, -1, 3] is printedconsole.log(t2); // [1, -1, 3, 5] is printed
const m1 = t.map((value) => value * 2);console.log(m1); // [2, 4, 6] is printed
const m2 = t.map((value) => "<li>" + value + "</li>");console.log(m2);// [ '<li>1</li>', '<li>2</li>', '<li>3</li>' ] is printed
const t3 = [1, 2, 3, 4, 5];const [first, second, ...rest] = t;console.log(first, second); // 1, 2 is printedconsole.log(rest); // [3, 4, 5] is printed
const object1 = { name: "Arto Hellas", age: 35, education: "PhD",};
const object2 = { name: "Full Stack web application development", level: "intermediate studies", size: 5,};
const object3 = { name: { first: "Dan", last: "Abramov", }, grades: [2, 3, 5, 3], department: "Stanford University",};
console.log(object1.name); // Arto Hellas is printedconst fieldName = "age";console.log(object1[fieldName]); // 35 is printed
object1.address = "Helsinki";object1["secret number"] = 12341;
const sum = (p1, p2) => { console.log(p1); console.log(p2); return p1 + p2;};
const result = sum(1, 5);console.log(result);
const square = (p) => { console.log(p); return p * p;};
const square = (p) => p * p;
const t = [1, 2, 3];const tSquared = t.map((p) => p * p);// tSquared is now [1, 4, 9]
function product(a, b) { return a * b;}const result = product(2, 6);// result is now 12
const average = function (a, b) { return (a + b) / 2;};const result = average(2, 5);// result is now 3.5
Reference links
- Javascript object
this
and javascript class - https://developer.mozilla.org/en-US/docs/Web/JavaScript
- A re-introduction to Javascript
- You don’t know JS https://github.com/getify/You-Dont-Know-JS
- javascript.info
- egghead.io
Exercises
const Header = (props) => { console.log(props); return <h1>{props.course}</h1>;};
1.3
Given information in new format, to complete the app.
const course = "Half Stack application development";const part1 = { name: "Fundamentals of React", exercises: 10,};const part2 = { name: "Using props to pass data", exercises: 7,};const part3 = { name: "State of a component", exercises: 14,};
1.4
In an array
const course = 'Half Stack application development' const parts = [ { name: 'Fundamentals of React', exercises: 10 }, { name: 'Using props to pass data', exercises: 7 }, { name: 'State of a component', exercises: 14 } ]
1.5
In an object
const course = { name: 'Half Stack application development', parts: [ { name: 'Fundamentals of React', exercises: 10 }, { name: 'Using props to pass data', exercises: 7 }, { name: 'State of a component', exercises: 14 } ] }
My solutions
My solutions:
(Please complete your own solutions before click here.)
1.3
const Header = (props) => { console.log(props); return <h1>{props.course}</h1>;};
const Part = (props) => { return ( <p> {props.part} {props.exercises} </p> );};
const Content = (props) => { return ( <> <Part part={props.part1.name} exercises={props.part1.exercises} /> <Part part={props.part2.name} exercises={props.part2.exercises} /> <Part part={props.part3.name} exercises={props.part3.exercises} /> </> );};
const Total = (props) => { return ( <p> Number of exercises{" "} {props.part1.exercises + props.part2.exercises + props.part3.exercises} </p> );};
function App() { const course = "Half Stack application development"; const part1 = { name: "Fundamentals of React", exercises: 10, }; const part2 = { name: "Using props to pass data", exercises: 7, }; const part3 = { name: "State of a component", exercises: 14, };
return ( <div> <Header course={course} /> <Content part1={part1} part2={part2} part3={part3} /> <Total part1={part1} part2={part2} part3={part3} /> </div> );}
export default App;
1.4
const Header = (props) => { console.log(props); return <h1>{props.course}</h1>;};
const Part = (props) => { return ( <p> {props.part} {props.exercises} </p> );};
const Content = (props) => { return ( <> <Part part={props.parts[0].name} exercises={props.parts[0].exercises} /> <Part part={props.parts[1].name} exercises={props.parts[1].exercises} /> <Part part={props.parts[2].name} exercises={props.parts[2].exercises} /> </> );};
const Total = (props) => { return ( <p> Number of exercises{" "} {props.parts[0].exercises + props.parts[1].exercises + props.parts[2].exercises} </p> );};
function App() { const course = "Half Stack application development"; const parts = [ { name: "Fundamentals of React", exercises: 10, }, { name: "Using props to pass data", exercises: 7, }, { name: "State of a component", exercises: 14, }, ];
return ( <div> <Header course={course} /> <Content parts={parts} /> <Total parts={parts} /> </div> );}
export default App;
1.5
const Header = (props) => { console.log(props); return <h1>{props.course.name}</h1>;};
const Part = (props) => { return ( <p> {props.part} {props.exercises} </p> );};
const Content = (props) => { return ( <> <Part part={props.course.parts[0].name} exercises={props.course.parts[0].exercises} /> <Part part={props.course.parts[1].name} exercises={props.course.parts[1].exercises} /> <Part part={props.course.parts[2].name} exercises={props.course.parts[2].exercises} /> </> );};
const Total = (props) => { return ( <p> Number of exercises{" "} {props.course.parts[0].exercises + props.course.parts[1].exercises + props.course.parts[2].exercises} </p> );};
function App() { const course = { name: "Half Stack application development", parts: [ { name: "Fundamentals of React", exercises: 10, }, { name: "Using props to pass data", exercises: 7, }, { name: "State of a component", exercises: 14, }, ], };
return ( <div> <Header course={course} /> <Content course={course} /> <Total course={course} /> </div> );}
export default App;