بله ممکنه این اتفاق بیفته.
بعلاوه در عبارات ریاضی هم ممکنه اتفاق بیفته.
حالت دیگه ای هم داره، بدین صورت:
5000 تا داریم، می خوایم منهای ِ منفی 3000 کنیم.
در مثالی که زدم هم در واقع معادلی برای همون منفی در منفی، می شود مثبت هستش.
اتفاقا به نظر من کسی که این کد رو نوشتم، دقت نظر بالایی داشته که این حالت رو در نظر گرفته.
includes() یک method هستش.
منبع: https://www.w3schools.com/jsref/jsref_includes.asp
بررسی می کنه که: آیا یک رشته ی موجود، شامل یک رشته ی خاص دیگه میشه یا نه؟
مقدار برگشتی هم: یا مقدار درست true هستش یا غلط false
درین مثال یعنی: آیا رشته ی (this.state.result)، شامل یک رشته ی ('--')، میشه یا نه؟
درود
این یه عبارت شرطیه که چک میکنه «--» در استیت موردنظر هست یا نه .. احتمالا برای نوع محاسبهای که باید انجام بشه ازش استفاده میشه اما تا کد کاملش رو به اشتراک نگذارید، نمیشه به طور قطعی گفت.
کد کامل به این شکل هست:
import React, { Component } from 'react';
import './App.css';
import ResultComponent from './components/ResultComponent';
import KeyPadComponent from "./components/KeyPadComponent";
class App extends Component {
constructor(){
super();
this.state = {
result: ""
}
}
onClick = button => {
if(button === "="){
this.calculate()
}
else if(button === "C"){
this.reset()
}
else if(button === "CE"){
this.backspace()
}
else {
this.setState({
result: this.state.result + button
})
}
};
calculate = () => {
var checkResult = ''
if(this.state.result.includes('--')){
checkResult = this.state.result.replace('--','+')
}
else {
checkResult = this.state.result
}
try {
this.setState({
// eslint-disable-next-line
result: (eval(checkResult) || "" ) + ""
})
} catch (e) {
this.setState({
result: "error"
})
}
};
reset = () => {
this.setState({
result: ""
})
};
backspace = () => {
this.setState({
result: this.state.result.slice(0, -1)
})
};
render() {
return (
<div>
<div className="calculator-body">
<h1>Simple Calculator</h1>
<ResultComponent result={this.state.result}/>
<KeyPadComponent onClick={this.onClick}/>
</div>
</div>
);
}
}
export default App;
مرسی از بابت قرار دادن کدها، الان جوابش مشخصه:
if(this.state.result.includes('--')){
checkResult = this.state.result.replace('--','+')
}
داره میگه وقتی دوتا منفی پشت سرهم بودش، تبدیلش کن به مثبت.
خب این یک قاعده ی ریاضی هستش، منفی در منفی میشه مثبت.
متوجه شدید؟
بله ممکنه این اتفاق بیفته.
بعلاوه در عبارات ریاضی هم ممکنه اتفاق بیفته.
حالت دیگه ای هم داره، بدین صورت:
5000 تا داریم، می خوایم منهای ِ منفی 3000 کنیم.
در مثالی که زدم هم در واقع معادلی برای همون منفی در منفی، می شود مثبت هستش.
اتفاقا به نظر من کسی که این کد رو نوشتم، دقت نظر بالایی داشته که این حالت رو در نظر گرفته.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟