标签: ecmascript-6

为什么我不能在状态中推送到数组?

我似乎无法从API将对象推送到状态数组.这是我的代码

      async _fetchData(number){
        try{
          await console.log('asd',number)
          let response = await fetch( 'https://www.beanlinked.com/wp-json/wp/v2/media/'+this.state.News[number].featured_media)
          let responseJson = await response.json()
          await console.log("responseJson")
          let tempURL = responseJson.guid
          let url = tempURL.rendered

          for (var i = 0; i < this.state.News.length; i++) {
            const items = this.state.News;
            items[number].URLOnSever = url;

          }

          this.state.News.push({
            URLOnSever : url
          })
          console.log("imageurl",this.state.News.URLOnSever)

          return url
        }catch(e){
          console.log('problem'+e)
        }
      }
Run Code Online (Sandbox Code Playgroud)

我只是想推送新的URL this.state.News.

javascript ecmascript-6 reactjs react-native

-1
推荐指数
1
解决办法
1115
查看次数

Javascript中箭头函数的动机是什么?

我一直在使用Javascript.最近他们在ES6中增加了箭头功能,这些功能也有好处

  1. 简短语法
  2. 范围安全 this
  3. 明晰

但是它有一些使用箭头功能的缺点:

  1. 它不继承Function原型
  2. 我们不能将它与具有动态上下文的回调函数一起使用
  3. 不能用作构造函数

我想问下面的事情:

  1. 他们为什么不继承Function原型?
  2. 他们是否在javascript中增加了使用函数式编程?(背后的动机)

我问这个是因为mdn页面说它没有原型,但没有解释为什么它没有原型.

我阅读了Eric Elliot的这个系列文章,我认为我们正在使用javascript中的函数式编程方法,并且由于计划发布,我们是否有机会在不久的将来删除OOPS?

javascript ecmascript-6 arrow-functions

-1
推荐指数
1
解决办法
209
查看次数

以下计数器为什么不增加?

正如您所看到的,我正在创建一个计数器createContents并将其与传递给的数据一起使用convertToHTML:

function createContents(text, orig) {
  if (orig.match(/^#{2}\s/)) {
    let index = 1
      , headingIndex = `item-${index++}`
      , headingText = `${text.replace(/^## /gm, '')}`

    text = `<p><a href=#${headingIndex}>${headingText}</p>`
    console.log(text)
  }
}

function convertToHTML(markdownSource) {
  let data = markdownSource.split(/\n\n|^>(?!.)/gm)
    , orig = data.slice()

  for (let i = 0, l = orig.length; i < l; ++i) {
    createContents(data[i], orig[i])
  }
}
Run Code Online (Sandbox Code Playgroud)

输入看起来像这样:

## Title 1

## Title 2
Run Code Online (Sandbox Code Playgroud)

所需的输出应如下所示:

<p><a href=#item-1>Title 1</p>
<p><a href=#item-2>Title 2</p>
Run Code Online (Sandbox Code Playgroud)

但相反,我得到了这个:

<p><a href=#item-1>Title 1</p>
<p><a …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

-2
推荐指数
1
解决办法
58
查看次数

如何在Javascript中显示符号?

如果我说sym1 = Symbol();,Symbol功能如下工作g,

> g = function(){
|     return 2; //return some random unique value based on some internal algo
| }
    g()
> var sym1 = g();
> sym1
    2
Run Code Online (Sandbox Code Playgroud)

现在,当我这样做var sym1 = Symbol();并记录时sym1,控制台显示Symbol()而不是显示该函数返回的值Symbol.

所以这是我的问题:该Symbol功能如何工作?Symbol()当您键入时,控制台如何显示而不是显示某些值sym1?我们可以写这样的功能吗?

javascript symbols ecmascript-6

-2
推荐指数
1
解决办法
143
查看次数

如何在nodejs中要求类

我正在用Nodejs编写一个项目,我使用的是ES6.我写了一个ProductsProducts.js文件中命名的类:

class Products
{
...
}
Run Code Online (Sandbox Code Playgroud)

要将此类导入到另一个文件(如index.js),我使用requre('Products.js');并显示以下错误:

错误:找不到模块'Products.js'

如何在index.js中需要这个类?

javascript node.js ecmascript-6

-2
推荐指数
1
解决办法
4458
查看次数

ES6函数的默认参数如何返回undefined,而不是抛出错误?

var myFunc = function(x = getUndefined()){
    return x
};
function getUndefined(){
    return undefined
};
Run Code Online (Sandbox Code Playgroud)

我想知道为什么这会返回undefined而不是抛出某种错误.x怎么知道不要继续打电话getUndefined()

javascript error-handling ecmascript-6

-2
推荐指数
1
解决办法
36
查看次数

反应中使用无状态函数的意外令牌

尝试避免Component的扩展,因为组件只是呈现数据,它可以是独立的.

const CountDown = () => {
    render(){
        return(
            <p>Countdown.jsx</p>
        )
    }
}

module.exports = Countdown
Run Code Online (Sandbox Code Playgroud)

但是怎么了?我得到了意想不到的令牌render(){ ... }

javascript ecmascript-6 reactjs

-2
推荐指数
1
解决办法
346
查看次数

如何将数字作为浮点数es6返回

好吧,我试图以特定的格式返回我的所有号码

Number(parseFloat(number).toFixed(fractionalDigits || 2))
Run Code Online (Sandbox Code Playgroud)

这工作正常,但在某些情况下失败,这里有一些结果

1.111返回"1.11"和将其转换成多个IT将返回1.11如浮法这是正确的,但2.2返回"2.20"之后和将其转换成多个IT将后 2.2 我需要它是2.20如浮法

因为toFixed函数100返回"100.00"并且在将其转换为数字后将其返回到100 我需要它100.00但是作为浮点数

我怎样才能做到这一点 ?

javascript ecmascript-6

-2
推荐指数
1
解决办法
479
查看次数

Javascript承诺无法按预期工作

在这里,我宣布了我的承诺

   const fetchmessage= new Promise(
            (resolve,reject)=>{
              this.props.authStore.verifyLocalToken();
              console.log("VLT Resolve");
              resolve("Completed");
            }
            );

          fetchmessage.then(this.props.inboxStore.inboxMessageFetch(mobileNumber,firebaseToken));
Run Code Online (Sandbox Code Playgroud)

以下是我的verifyLocalToken代码

   verifyLocalToken() {
    console.log("VerifyLT - Start");
        fetch('http://xxx.xxx.xxx.xxx:8000/api/VerifyLocalToken', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded'
            },
            body: `mobileNumber=${this.mobileNumber}&key=${this.key}`
        }).then((response) => response.json()).then(
            (responseJson) => {
                console.log("http request v l t --", responseJson);
                this.firebaseToken = responseJson.firebaseToken;
            }).catch(
            (error) => {
                console.error(error);
            }
        )
        console.log("VerifyLT - Stop");

}
Run Code Online (Sandbox Code Playgroud)

以下是我的inboxMessageFetch代码

inboxMessageFetch(mobileNumber,firebaseToken) {
        console.log("InboxFetch  --", `${mobileNumber}/inbox`,firebaseToken);

            firebase.database().ref(`${mobileNumber}/inbox`)
                .on('value', snapshot => {
                    console.log('FB', snapshot.val());
                })
    }
Run Code Online (Sandbox Code Playgroud)

输出是这样的 控制台日志

不应该 在InboxFetch …

javascript ecmascript-6 es6-promise

-2
推荐指数
1
解决办法
48
查看次数

当我们使用变量作为对象键,然后使用解构(不带别名)来获取该对象键的值时,为什么JS代码不起作用?

想象一下这种情况,我将字段名称保存在这样的变量中 -

const NAME_FIELD = 'name';
Run Code Online (Sandbox Code Playgroud)

然后,我继续在这样的对象中使用它 -

let state = {
  [NAME_FIELD]: 'ashwani'
} 
console.log(state) // Output - { name: "ashwani" }
Run Code Online (Sandbox Code Playgroud)

到目前为止一切都很好。现在,稍后在我的代码中,我想获取相同键的值。当然,最简单的方法是简单地使用类似state[NAME_FIELD]. 不过我正在使用解构。

通过解构,这是有效的 -

const { [NAME_FIELD]: x } = state;
console.log(x) // Output - ashwani
Run Code Online (Sandbox Code Playgroud)

但是,我的第一次尝试是这样的——

const { name } = state; // This works as expected
const { [NAME_FIELD] } = state; // I was expecting this to work too, but it didn't
Run Code Online (Sandbox Code Playgroud)

我希望上面的代码const { [NAME_FIELD] } = state;可以工作,但在其他代码工作时却没有。如果有人能帮助我理解这一点,那就太好了:)

我知道当我说const …

javascript ecmascript-6 reactjs

-2
推荐指数
1
解决办法
196
查看次数